public class MemoryUsage extends Object
一个MemoryUsage对象包含四个值:
init represents the initial amount of memory (in bytes) that the Java virtual machine requests from the operating system for memory management during startup. The Java virtual machine may request additional memory from the operating system and may also release memory to the system over time. The value of init may be undefined. used represents the amount of memory currently used (in bytes). committed represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may change over time (increase or decrease). The Java virtual machine may release memory to the system and committed could be less than init. committed will always be greater than or equal to used. max represents the maximum amount of memory (in bytes) that can be used for memory management. Its value may be undefined. The maximum amount of memory may change over time if defined. The amount of used and committed memory will always be less than or equal to max if max is defined. A memory allocation may fail if it attempts to increase the used memory such that used > committed even if used <= max would still be true (for example, when the system is low on virtual memory). +----------------------------------------------+
+//////////////// | +
+//////////////// | +
+----------------------------------------------+
|--------|
init
|---------------|
used
|---------------------------|
committed
|----------------------------------------------|
max
CompositeData
作为指定具有属性from
方法。
Constructor and Description |
---|
MemoryUsage(long init, long used, long committed, long max)
构造一个
MemoryUsage对象。
|
Modifier and Type | Method and Description |
---|---|
static MemoryUsage |
from(CompositeData cd)
返回由给定的
CompositeData表示的
MemoryUsage对象。
|
long |
getCommitted()
返回为Java虚拟机提供的内存量(以字节计)。
|
long |
getInit()
返回Java虚拟机最初从操作系统请求进行内存管理的以字节为单位的内存量。
|
long |
getMax()
返回可用于内存管理的最大内存量(以字节为单位)。
|
long |
getUsed()
以字节为单位返回使用的内存量。
|
String |
toString()
返回此内存使用情况的描述性表示。
|
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 static MemoryUsage from(CompositeData cd)
Attribute Name Type init java.lang.Long used java.lang.Long committed java.lang.Long max java.lang.Long
cd
-
CompositeData代表
MemoryUsage
IllegalArgumentException
-如果
cd并不代表与上述属性的
MemoryUsage。