堆内存逻辑分区

将内存分为几大块
第一块为新生代 new /young
刚new 出来的对象
新生代包含 eden(伊甸区)和两个survivor   比例为8:11
enden区回收之后进入survivor区
新生代大量死去,少量存活,采用复制算法
老年代存活率较高,回收较少 ,采用MC 或者MS 算法

第二块为老年代old/也叫tenured终身
垃圾回收了很多次 没回收掉

 

 

 

一个对象从出生到消亡的过程
一个对象new出来之后先尝试在栈上分配
栈上分配不下就进入eden(伊甸区)
伊甸区经过一次垃圾回收之后进入survivor区 s1(幸存区)
survivor 区再经过一次垃圾回收之后进入s2区
经过多长垃圾回收  s1-s2年龄超过限制时,进入old 区  通过参数-XX:MaxTenuringThreshold


凡是在新生代 回收的youngGc或者MinorGc 新生代空间耗尽时触发
凡是在老年代 回收的FullGC或者MajorGC 老年代无法继续分配空间时触发, 新生代和老年代同时进行回收

 

posted @ 2022-04-28 09:16  花心大萝卜li  阅读(78)  评论(0)    收藏  举报