java.lang.Object java.lang.management.MemoryUsage
public class MemoryUsage
表示内存使用量快照的 MemoryUsage 对象。MemoryUsage 类的实例通常由某些特定的方法构造,这些方法用于获得关于 Java 虚拟机的单个内存池或 Java 虚拟机的全部堆(或非堆)内存的内存使用量信息。
MemoryUsage 对象包含四个值:
init | 表示 Java 虚拟机在启动期间从操作系统请求的用于内存管理的初始内存容量(以字节为单位)。Java 虚拟机可能在运行过程中从操作系统请求更多的内存,也可能将内存释放给系统。init 的值可以是不明确的。 |
used | 表示当前已经使用的内存量(以字节为单位)。 |
committed | 表示保证可以由 Java 虚拟机使用的内存量(以字节为单位)。已提交的内存量可以随时间而变化(增加或减少)。Java 虚拟机可能会将内存释放给系统,committed 可以小于 init。committed 将始终大于或等于 used。 |
max | 表示可以用于内存管理的最大内存量(以字节为单位)。可以不定义其值。如果定义了该值,最大内存量可能随时间而更改。已使用的内存量和已提交的内存量将始终小于或等于 max(如果定义了 max)。如果内存分配试图增加满足以下条件的已使用内存将会失败:used > committed,即使 used <= max 仍然为 true(例如,当系统的虚拟内存不足时)。 |
+----------------------------------------------+ +//////////////// | + +//////////////// | + +----------------------------------------------+ |--------| init |---------------| used |---------------------------| committed |----------------------------------------------| max
CompositeData
,其具有
from
方法中指定的属性。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
public MemoryUsage(long init, long used, long committed, long max)
init
- Java 虚拟机分配的初始内存量(以字节为单位);或者,如果未定义,则为
-1。
used
- 已经使用的内存量(以字节为单位)。
committed
- 已经提交的内存量(以字节为单位)。
max
- 可以使用的最大内存量(以字节为单位);或者,如果未定义,则为
-1。
IllegalArgumentException
- 如果
方法详细信息 |
---|
public long getInit()
public long getUsed()
public long getCommitted()
public long getMax()
如果此内存量大于已提交的内存量,则不能保证内存管理能够使用此内存量。即使已使用的内存量没有超过这个最大大小,Java 虚拟机也可能会无法分配内存。
public String toString()
public static MemoryUsage from(CompositeData cd)
属性名称 类型 init java.lang.Long used java.lang.Long committed java.lang.Long max java.lang.Long
cd
- 表示
MemoryUsage 的
CompositeData
IllegalArgumentException
- 如果
cd 不表示具有上述属性的
MemoryUsage。