我正在創建我的課程的一個4096 x 4096數組。當我分析時,它顯示char數組使用的內存最多。我的班級中沒有任何字符數組或字符串。JVM監視器字符數組內存使用情況
這裏是我的Java類:
public class MyClass {
private int id;
private boolean flag;
public MyClass() {
id = 0;
flag = false;
}
}
而我的主類:
public class Main {
public static void main(String[] args) {
MyClass[][] objects = new MyClass[4096][4096];
for (int i = 0;i<4096;i++) {
for(int j = 0;j<4096;j++) {
objects[i][j] = new MyClass();
}
}
while(true);
}
}
我使用JVM監視器分析。爲什麼要顯示這個?
下面是在Eclipse中運行它的屏幕截圖:
你是如何執行堆轉儲的?你是否在前面運行GC來清除所有垃圾? –
你的主要方法從哪個類運行? – Yogesh