
笔记
Dean_Deng
这个作者很懒,什么都没留下…
展开
-
JVM学习笔记 - 判断对象是否存活GC Roots
文章目录一、判断对象是否存活?二、 GC Roots可达性分析图一、判断对象是否存活?这个算法的基本思路就是:通过一系列的称为“GC Roots”的对象作为起始点从这些节点开始向下搜索,搜索所走过的路径称为引用链当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是不可用的。作为 GC Roots 的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象;各个线程调用方法堆栈中使用到的参数、局部变量、临时变量等。方法区中类静态属性引用的对象;jav..原创 2020-12-17 16:35:52 · 349 阅读 · 1 评论 -
JVM学习笔记 - JVM堆空间的划分
文章目录前言一、JVM堆空间的划分图前言JVM的垃圾回收主要是发生在堆空间。一、JVM堆空间的划分图示例:JVM堆空间被划分为年轻代和老年代如图:而年轻代又被划分为3部分原创 2020-12-17 15:43:24 · 769 阅读 · 0 评论 -
JVM学习笔记-虚拟机机栈
什么是虚拟机栈:存储当前线程运行java方法所需的数据、指令、返回地址虚拟机栈与java的方法运行息息相关虚拟机栈的结构:虚拟机栈是一种先进后出的数据结构虚拟机栈里面有什么:虚拟机栈里面有栈帧一个虚拟机栈里面可能有多个栈帧每一个栈帧对应一个方法,1、方法的执行对应栈帧入栈2、方法的调用完成或者返回对应栈帧出栈学习产出:栈帧与方法调用图...原创 2020-12-12 15:13:55 · 287 阅读 · 0 评论 -
JVM学习笔记- 运行时数据区内存划分
简单了解下一个HelloWorld.class字节码进入内存的流程图要了解JVM内存管理,首先得知道JVM内存区域划分,JVM对由类加载进入内存的字节码交由运行时数据区去管理的。先看运行时数据区的划分JVM整个运行时数据区域是分为虚拟机栈,程序计数器,本地方法栈,堆和方法区这个几块,上图是按照线程私有和线程共享进行了划分线程私有线程共享虚拟机栈 、 程序计数器、本地方法栈堆、 方法区...原创 2020-12-12 14:04:36 · 253 阅读 · 0 评论