堆内存运行原理图
2021-09-10 16:46:19 0 举报
堆内存运行原理图
作者其他创作
大纲/内容
JDK1.8之前是叫永久存储区
堆
幸存0区
元空间Perm
养老区
垃圾回收主要是在伊甸园区和养老区。
轻GC
当伊甸园区和幸存区里的都满了之后,就会触发一次重GC,重GC会把伊甸园区和幸存区都清理一遍,把活下来的对象放入到养老区,当养老区和新生区都满了之后就会触发OOM错误(堆内存满了)
元空间存放一些基本类型的数据,常量池和JVM内置的一些东西元空间位于非堆空间,方法区也在这里面,常量池就是在方法区里面
伊甸园区Eden Space
我们new了一个对象之后是存放在伊甸园区的,当伊甸园区满了之后就会触发垃圾回收(GC),存活下来的对象,经历了一次大变革之后,那么对象就会到幸存0区里面来,幸存0区满了之后,就会触发GC并跟幸存1区交换位置,然后把存活下来的对象放入到幸存1区,幸存1区满了之后触发GC,会在跟幸存0区交换位置并且把存活下来的对象放入到0区,就这样不停的交换位置。当幸存区的对象被垃圾回收次数超过15次还存活的就会放入养老区
重GC Full GC
幸存1区
新生区
0 条评论
回复 删除
下一页