JVM内存分配策略

引自《深入理解Java虚拟机》 

关键词:优先级,大对象,老不死对象 

 三个策略

  • 对象优先在Eden区分配
  • 大对象直接进入老年代(大对象举例:很长的String,很长的数组)
  • 长期存活的对象进入老年代

 

长期存活:从Eden出生,每经历一次Minor GC 年龄加1(出生时为0,年龄为1时已经在Survivor区),在年龄达到15(默认)时,就会晋升到老年代

 

注意:晋升到老年代还有一种情况:

Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,用公式表示为:

 

 

 

 

posted @ 2018-08-13 19:35  豆仔gogo  阅读(245)  评论(0编辑  收藏  举报