java内存运行逻辑

1.首先我们了解一下java new出来的对象

java中 new出来的对象一般是放在伊甸园区(eden)

 

 

 

 

 

 当伊甸园区放满了之后,会执行GC(minor gc) ,jvm虚拟机会开启一个垃圾收集线程对我们的伊甸园区进行垃圾收集GC(minor gc),垃圾对象(GC Roots)可达性分析算法

 

 

 

 

 

 GC Roots 根,会在我们的方法区和栈里面找到所有的方法(本地变量,局部变量,静态变量,静态方法等),顺着这些对象找到引用的对象,直到找到最后一个对象(不在引用其他对象),把这些对象链就叫做GC Roots链,这GC Roots对象是有效对象,反之如果栈中的对象没有被引用则被称之无效对象,

系统执行minor GC时,会把有效的GC roots对象一次性的打包到Survivor区中的from区,然后伊甸园区(edeb)的对象全部都是无效对象(垃圾对象),进行一次性回收。

 

 

 

 

 

 

 

 安装java自带的jvisualvm,用来查看jvm虚拟机的数据内容

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-03-08 09:54  沫笙*  阅读(97)  评论(0编辑  收藏  举报