然后会执行下面的代码:byte[] array3 = new byte[2 * 1024 * 1024];
此时希望在Eden区再次分配一个2MB的数组,这显然是不可行的,因为此时Eden区里已经有3个2MB的数组和1个128KB的数组,大小都超过6MB了,Eden总共才8MB,此时是不可能 再创建2MB的数组的。
因此此时一定会触发一次Young GC
ParNew: 7260K->715K(9216K), 0.0012641 secs
这行日志清晰表明了,在GC之前年轻代占用了7260KB的内存,这里大概就是6MB的3个数组 + 128KB的1个数组 + 几百KB的一些未 知对象,之前就说过大概年轻代刚开始会有512KB左右的未知对象,此时再加上我们自己的128KB的数组,大家想想,是不是 差不多就是700KB?
from space 1024K, 69% used [0x00000000ff500000, 0x00000000ff5b2e10, 0x00000000ff600000)
此时From Survivor区域被占据了69%的内存,大概就是700KB左右,这就是一次Young GC后存活下来 的对象,他们都进入From Survivor区了。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!