2011-09-29 80 views

回答

6

totalMemory()返回當前使用的內存量,而maxMemory()表示JVM總共可以分配多少內存。

注:從這個如下:totalMemory() <= maxMemory(),你還可以得到「多少內存左」由maxMemory() - totalMemory()

一個使用情況這是診斷程序所使用的內存,而你將使用totalMemory()
注意:兩者都只涉及堆內存,而不是堆棧內存。

+0

「totalMemory()返回當前使用的內存量」USED ?!你的意思是分配? –

5

總內存是當前分配給JVM的內存。它隨時間而變化。最大內存是JVM可以達到的最大內存。這是總內存的上限。

3

MaxMemory()是由XMX參數

+0

如何在程序開始運行後獲取Xms參數? –

0

totalMemory(),其代表JVM的當前堆大小設置的值這是目前由可用於每javadoc的值新objects.As對象和釋放內存佔用使用的內存的組合由totalMemory()返回的值可能會隨着環境的變化而變化。 JVM totalMemory也等於初始JVM的堆大小

最大堆空間是不會JVM生活cycle.Jvm隨時更改過試圖根據沒有新對象的創建,但不擴大totalMemory(大小)超出maxMemory()大小unles我們會得到java.lang.OutOfMemoryError。

+0

「可能隨時間而變化」或多或少的表示「等於初始堆大小」在一般情況下不太可靠。 – Gus

相關問題