一个java对象在内存中的人生轨迹
具体操作是:一个对象来了之后,先分配到Eden区,Eden区满了之后,触发GC,经过GC之后,为了防止空间不连续,把幸存下来的对象复制到Survivor区,然后Eden区就可以完整清理掉了,当然这么做是有一个前提的,就是大部分对象都是生命周期极短的,基本一次垃圾回收就可以把Eden区大部分对象回收掉。
堆:
具体操作是:一个对象来了之后,先分配到Eden区,Eden区满了之后,触发GC,经过GC之后,为了防止空间不连续,把幸存下来的对象复制到Survivor区,然后Eden区就可以完整清理掉了,当然这么做是有一个前提的,就是大部分对象都是生命周期极短的,基本一次垃圾回收就可以把Eden区大部分对象回收掉。
堆: