![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM系列
yangtuan_123
这个作者很懒,什么都没留下…
展开
-
JVM类加载机制
一、什么是JVM的类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 二、什么时候进行类加载 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止。它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Res...原创 2019-03-14 16:52:03 · 70 阅读 · 0 评论 -
java内存模型
一、java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 Java内存模型规定了所有的变量都存储在主内存(Main Memory)中(此处的主内存与 物理硬件时的主内存名字一样,两者也可以互相类比,但此处仅是虚拟机内存的一部分)。每条线...原创 2019-03-15 09:33:15 · 97 阅读 · 0 评论 -
java与线程(从JVM角度看线程调度)
一、线程的实现 我们学过操作系统的肯定都知道: 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内可调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 线程是比进程更轻量级的调度执行单元,线程的引入,可以把一个进程的资源分配和执行调度分开。各个线程既可以共享进程资源,又可以独立调度(线...原创 2019-03-15 11:58:21 · 460 阅读 · 2 评论 -
jvm 体系结构
一、jvm 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存(非JVM区域) 二、深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。 对象在java堆中的创建过程 对象在内存中的布局方式 对象的访问定位 目前主流的对象访问方式有两种:句柄和直接指针。 句柄访问 java堆中会划分出一块内存来作为句柄池,...原创 2019-03-13 09:52:04 · 67 阅读 · 0 评论 -
JVM垃圾回收与内存分配策略
一、垃圾回收算法 概述 JVM中,当创建的对象不再被使用的时候,此时我们认为他是无用的“垃圾”;在现代主流的商用jvm中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思想是通过一系列“GCROOT”的对象来作为起始点,从这些节点开始向下搜索,搜索所做过的路径称为引用链,当一个对象没有任何引用链可达时,就判断该对象不可用。如下图,obj5,obj6,obj7虽然相连,但是没有引用链到达“...原创 2019-03-13 17:24:06 · 75 阅读 · 0 评论