JVM
文章平均质量分 95
JVM
LeslieGuGu
人生如逆旅,我亦是行人
展开
-
解密JVM(四 )类加载
文章目录1.1类加载阶段1.1.1加载1.1.2链接1.1.3初始化1.2类加载器1.3运行期优化 1.1类加载阶段 1.1.1加载 将类的字节码载入方法区(1.8后为元空间,在本地内存中)中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要field 有: _java_mirror 即 java 的类镜像,例如对 String 来说,它的镜像类就是 String.class,作用是把 klass 暴露给 java 使用 _super 即父类 _fields 即成员变量 _m原创 2021-02-04 15:02:09 · 316 阅读 · 1 评论 -
解密JVM(三)字节码
这里写自定义目录标题原创 2021-02-03 14:01:33 · 377 阅读 · 1 评论 -
解密JVM(二)垃圾回收
文章目录垃圾回收1 如何判断对象可以回收1.1 引用计数法1.2 可达性分析算法1.3 五种引用2 如何判断对象可以回收2.1 引用计数法2.2 可达性分析算法2.3 五种引用3 如何判断对象可以回收3.1 引用计数法3.2 可达性分析算法3.3 五种引用4 如何判断对象可以回收4.1 引用计数法4.2 可达性分析算法5 如何判断对象可以回收 垃圾回收 1 如何判断对象可以回收 1.1 引用计数法 当对象添加一个引用计数器,当有一个地方引用它,计数器加1,当引用失效,计数器减一,任何时刻计数器为0的对象就是原创 2021-02-01 15:58:00 · 355 阅读 · 2 评论 -
解密JVM(一)内存结构
这里写自定义目录标题内存结构1. 程序计数器2. 虚拟机栈3. 本地方法栈4. 堆5. 方法区1. 程序计数器1.1 定义1.2 作用2. 虚拟机栈2.1 定义每个线程运行时所需要的内存,称为虚拟机栈问题辨析1. 垃圾回收是否涉及栈内存?2. 栈内存分配越大越好吗?3. 方法内的局部变量是否线程安全?如果方法内局部变量没有逃离方法的作用访问,它是线程安全的如果是局部变量引用了对象,并逃离方法的作用范围,需要考虑线程安全2.2 栈内存溢出栈帧过多导致栈内存溢出栈帧过大导致栈内存溢出2.3 线程运行诊断3. 本原创 2021-01-29 19:16:10 · 386 阅读 · 3 评论