堆内存里面对象运作

1:创建一个新对象,地址存入了栈,具体数据存放在了堆的Eden区域。所以堆的内存会比较大。

2:当Eden区域在累计满了之后,会进行一次mimor GC,会将Eden里面的数据做一次验证。如果在栈里面没有应用了,那么这里的数据会被回收,释放内存。若引用有效,那么就会被移到From区。

3:当下一次Eden区满了之后,会将Eden和From区域有用对象一起移动到TO区域。然后这样反复的minor GC操作。

4:如果Minor GC 大约在15次左右,会将还存活的数据移动到【老年代】。

5:知道老年代满了,就会触发我们常说的Full GC 了。  

 

然后堆里面的内存块比例是    年轻代 : 老年代  =1:2

年轻代里面:  Eden : From : TO  = 8:1:1

堆内存里面对象运作