JavaTM 2 Platform
Standard Ed. 6

java.lang.management
類別 MemoryUsage

java.lang.Object
  繼承者 java.lang.management.MemoryUsage

public class MemoryUsage
extends Object

表示記憶體使用量快照的 MemoryUsage 物件。MemoryUsage 類別的實例通常由某些特定的方法建構,這些方法用於獲得關於 Java 虛擬機器的單個記憶體池或 Java 虛擬機器的全部堆積(heap)空間(或非堆積(heap)空間)記憶體的記憶體使用量資訊。

MemoryUsage 物件包含四個值:

以下是記憶體池的範例圖:

        +----------------------------------------------+
        +////////////////           |                  +
        +////////////////           |                  +
        +----------------------------------------------+

        |--------|
           init
        |---------------|
               used
        |---------------------------|
                  committed 
        |----------------------------------------------|
                            max 
 

MXBean 映射

MemoryUsage 映射到 CompositeData,其具有 from 方法中指定的屬性。

從以下版本開始:
1.5

建構子摘要
MemoryUsage(long init, long used, long committed, long max)
          建構一個 MemoryUsage 物件。
 
方法摘要
static MemoryUsage from(CompositeData cd)
          返回由給定 CompositeData 表示的 MemoryUsage 物件。
 long getCommitted()
          返回已提交給 Java 虛擬機器使用的記憶體量(以位元組為單位)。
 long getInit()
          返回 Java 虛擬機器最初從作業系統請求用於記憶體管理的記憶體量(以位元組為單位)。
 long getMax()
          返回可以用於記憶體管理的最大記憶體量(以位元組為單位)。
 long getUsed()
          返回已使用的記憶體量(以位元組為單位)。
 String toString()
          返回此記憶體使用量的描述性表示形式。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

MemoryUsage

public MemoryUsage(long init,
                   long used,
                   long committed,
                   long max)
建構一個 MemoryUsage 物件。

參數:
init - Java 虛擬機器分派的初始記憶體量(以位元組為單位);或者,如果未定義,則為 -1
used - 已經使用的記憶體量(以位元組為單位)。
committed - 已經提交的記憶體量(以位元組為單位)。
max - 可以使用的最大記憶體量(以位元組為單位);或者,如果未定義,則為 -1
拋出:
IllegalArgumentException - 如果
  • initmax 的值為負數,但不是 -1;或者
  • usedcommitted 的值為負數;或者
  • used 大於 committed 的值;或者
  • committed 大於 max 的值(如果 max 已定義)。
方法詳細資訊

getInit

public long getInit()
返回 Java 虛擬機器最初從作業系統請求用於記憶體管理的記憶體量(以位元組為單位)。如果沒有定義初始記憶體大小,此方法將返回 -1

返回:
記憶體的初始大小(以位元組為單位);如果未定義,則返回 -1

getUsed

public long getUsed()
返回已使用的記憶體量(以位元組為單位)。

返回:
已使用的記憶體量(以位元組為單位)。

getCommitted

public long getCommitted()
返回已提交給 Java 虛擬機器使用的記憶體量(以位元組為單位)。此記憶體量保證可供 Java 虛擬機器使用。

返回:
已提交的記憶體量(以位元組為單位)。

getMax

public long getMax()
返回可以用於記憶體管理的最大記憶體量(以位元組為單位)。如果沒有定義最大記憶體大小,此方法將返回 -1

如果此記憶體量大於已提交的記憶體量,則不能保證記憶體管理能夠使用此記憶體量。即使已使用的記憶體量沒有超過這個最大大小,Java 虛擬機器也可能會無法分派記憶體。

返回:
記憶體的最大量(以位元組為單位);如果未定義,則返回 -1

toString

public String toString()
返回此記憶體使用量的描述性表示形式。

覆寫:
類別 Object 中的 toString
返回:
該物件的字元串表示形式。

from

public static MemoryUsage from(CompositeData cd)
返回由給定 CompositeData 表示的 MemoryUsage 物件。給定的 CompositeData 必須包含以下屬性:

屬性名稱 型別
init java.lang.Long
used java.lang.Long
committed java.lang.Long
max java.lang.Long

參數:
cd - 表示 MemoryUsageCompositeData
返回:
如果 cd 不為 null,則返回由 cd 表示的 MemoryUsage 物件;否則,返回 null
拋出:
IllegalArgumentException - 如果 cd 不表示具有上述屬性的 MemoryUsage

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only