Существует Runtime.maxMemory
, который, как говорится в документации, вернет максимальный объем памяти, который виртуальная машина Java будет пытаться использовать, но не определено, является ли это максимальный объем памяти, установленный при запуск JVM.
В качестве теста я написал следующую программу:
class MaxMemory {
public static void main(String[] args) {
System.out.println(Runtime.getRuntime().maxMemory());
}
}
Результаты казни были следующими:
C:\coobird\>java -Xmx64m MaxMemory
66650112
C:\coobird\>java -Xmx128m MaxMemory
133234688
Используется Java SE 6 версии 1.6.0_12 в Windows.
Хотя значения близки к 64 МБ (67 108 864 байт) и 128 МБ (134 217 728 байт), они не совсем такие.