了解Runtime.getRuntime().totalMemory()、freeMemory() 和maxMemory()
Runtime.getRuntime( ) 傳回Java 虛擬機器(JVM) 可用的總記憶體。這包括物件、Java 堆和其他 JVM 結構所佔用的記憶體。它並不代表您的進程所使用的總記憶體。
Runtime.getRuntime().freeMemory() 傳回目前空閒且可用於物件分配的記憶體量。它並不代表進程可用的總可用記憶體。
Runtime.getRuntime().maxMemory() 傳回 JVM 可以分配的最大記憶體量。這通常由 -Xmx 命令列參數設定。
計算總內存和已使用內存
要確定進程使用的內存總量,您需要從總內存中減去可用內存:
usedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
計算總可用記憶體
要確定進程可用的可用記憶體總量,請減去從最大記憶體中使用的記憶體:
freeMemory = Runtime.getRuntime().maxMemory() - usedMemory;
視覺化記憶體分配
以下是說明這些記憶體值之間關係的圖表:
[圖:https://i.sstatic.net/GjuwM.png]
以上是如何計算 Java 中已用記憶體總量和可用記憶體總量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!