0
無論我使用Long[]
,Integer[]
還是ArrayList<Integer>
,爲什麼它們都返回相同的內存使用量?長整型數組ArrayList和ArrayList的內存使用情況
System.out.println("Memory Usage : " + Runtime.getRuntime().totalMemory()/(1024*1024));
System.out.println("Memory Usage : " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())/(1024*1024));
//Long[] aa = new Long[70000000];
Integer[] bb = new Integer[70000000];
//ArrayList<Integer> a = new ArrayList<Integer>(70000000);
System.gc();
System.out.println("Memory Usage : " + Runtime.getRuntime().totalMemory()/(1024*1024));
System.out.println("Memory Usage : " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())/(1024*1024));
因爲您的測量方法是完全不準確的。 'System.gc()'是「嘿,你可能在不久的將來可能在某個時候GC?」和'Runtime.getRuntime()。totalMemory()'是一個非常粗略的近似值,它可以被忽略掉。 –
這和Spring和Hibernate有什麼關係? –