堆内存里面对象运作
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