3
public class Test {
public static void main(String[] args) {
long heapsize = Runtime.getRuntime().totalMemory();
System.out.println("heapsize is :: " + heapsize/(1024*1024));
}
}
堆大小是:: 245
這是否意味着我的運行時間只有245M的內存?我的電腦有8GB內存。我懷疑這是正確的輸出,因爲單獨運行Eclipse會消耗超過245M。
在Eclipse中,我點擊Windows的>首選項> Java的>安裝的JRE,並設置爲默認JVM參數如下:
-ea -Xms256m -Xmx4096M
然後再次運行測試。它仍然打印出相同的數字,245.這怎麼會發生?
編輯:從Java文檔的調用Runtime.getRuntime()totalMemory():
Returns the total amount of memory in the Java virtual machine.
The value returned by this method may vary over time, depending on the
host environment.
調用Runtime.getRuntime()。totalMemory(),這說明了什麼?我有一個運行良好的程序,但今天突然間我收到了這個內存消息。 – user697911
在Eclipse中,「Windows->首選項 - > Java->已安裝的JRE - >默認JVM參數」爲在Eclipse中運行的應用程序設置堆大小,而不是爲Eclipse本身。 – user697911
擴展我的答案,希望能解決您的後續問題 – dovetalk