Minor GC後存活的對象Survivor區放不下,這種情況會把存活的對象部分挪到老年代,部分可能還會放在Survivor區。
(1)當我們的代碼中有allocation1和allocation2
byte[] allocation1;
allocation1 = new byte[60*1024*1024];//60M
//-- allocation1 + allocation2 survior存不下,直接到老年代。
byte[] allocation2;
allocation2 = new byte[8*1024*1024];//8M
運行看下控制檯信息:
[GC (Allocation Failure) [PSYoungGen: 65372K->608K(76288K)] 65372K->62056K(251392K