内存分配和回收策略
-
优先分配在新生代
-
大对象直接进入老年代
-
长期存活的对象直接进入老年代
- 15岁晋升老年代
- 动态对象年龄判定
- 相同年龄所有对象大小总和大于Survivor空间一半,那么我们就把大于等于该年龄的对象直接进如入老年代
-
空间分配担保
垃圾回收策略
当一个对象被实例化后,首先先尝试存在eden区,若Eden区存不下,将触发一次minor GC,若空间不够,则看存活区的空间是否够,要是够的话,将Eden区的存活时间长的对象放到存活区,将新创建的对象分配到Eden区,要是不够的话,看老年代的空间是否够,要是够的话,将存活区的存活时间比较长的对象存到老年代,然后将Eden区的存活时间比较长的存到存活区,将新创建的分配搭到Eden区。若空间仍不够,触发一次full GC,重复操作,若最后空间仍不足,抛出异常。