有个面试官问过一个问题,为什么对象分代年龄有15而没有16,17.
因为储存对象分代年龄的只有四位。那当然最多就只有15.
来看下图。
每个对象刚刚新建就在新生代堆当中。(除了一些较大的对象,要分配很大的连续的内存空间,就直接进入到老年代)
这时候,垃圾回收机制就起作用了,当一个对象判定为死亡的时候,垃圾回收就会来处理,经过一轮,新生代就复制到另外的内存空间,他的新生代的值也会相应的+1。
当然最开始的新生代是最容易被处理出去。一轮轮过后,才会成为老年代。
有个面试官问过一个问题,为什么对象分代年龄有15而没有16,17.
因为储存对象分代年龄的只有四位。那当然最多就只有15.
来看下图。
每个对象刚刚新建就在新生代堆当中。(除了一些较大的对象,要分配很大的连续的内存空间,就直接进入到老年代)
这时候,垃圾回收机制就起作用了,当一个对象判定为死亡的时候,垃圾回收就会来处理,经过一轮,新生代就复制到另外的内存空间,他的新生代的值也会相应的+1。
当然最开始的新生代是最容易被处理出去。一轮轮过后,才会成为老年代。