Pobiegłem ten test z -Xmx256M określić maksymalny rozmiar obiektu, że mogę stworzyć na stercieJak caculate maksymalny rozmiar obiektu, jeśli znany jest maksymalny rozmiar sterty?
for (int m = 128;; m++) {
try {
byte[] a = new byte[m * 1024 * 1024];
} catch (OutOfMemoryError e) {
System.out.println(m + "M");
break;
}
}
i dostał 171m. Czy istnieje sposób na obliczenie tego rozmiaru?
Czy przyrost pętli for powinien wynosić 'm ++ '? – michaelb958
Tak, to jest m, dzięki –
Użyłem '-XX: + UseG1GC' i otrzymałem' 255M'. – johnchen902