java内存堆内存与GC回收与回收算法的优劣

java内存堆内存与GC回收

 

 

堆区分为新生代和老年代。新生代占1/3,老年代占2/3

 

新生代又分为 eden区,from区。to区。 比例为8:1:1 

 eden区满了触发minorGC ,使用复制算法

 

老年区满了触发 full GC , 一般使用标记清除和 标记整理混合使用               如果 full GC 多次,还没有腾出空间。则会OOM 

 

复制算法:内存效率快,没有内存碎片,但是内存占用高。

标记清除:存在内存碎片,还要维护一个内存空闲列表,占用资源。

标记整理:耗时长

 

 

 

复制算法

 

 

 

 

 

 标记清除

 

 

 

 

 

 

 

 

 

标记整理

 

 

 

posted @ 2020-09-01 20:54  xie风细雨  阅读(92)  评论(0)    收藏  举报