На мой взгляд, множественное Попытки вызовы метода возвращали различные значения для максимальной оперативной памяти. Вот актуальный фрагмент. < /P>
Код: Выделить всё
... -Xmx=$SOME_VAR -Xms=$SOME_VARИз -за этого фрагмента вывод из Runtime.totalmemory () в конечном итоге является таким же, как и выход из Runtime.maxmemory () .
Как получается, что выход из Runtime.maxmemory () Постоянно изменяется? По общему признанию, это не слишком много в большинстве случаев. Может быть, половина гигабайта. Но иногда эти половины концертов могут составлять почти 3 гигабайта разницы с тех пор, когда мы начали. /code> измениться со временем? Это не похоже на полученное оборудование или потерянное оперативное окно, верно? и прямо перед тем, как я запускаю Java, моя система имеет примерно 29 гигабайт свободных. Распечатайте разные значения. < /p>
Код: Выделить всё
for (int i = 0; i < 10; i++) {
Thread.sleep(10_000);
System.out.println(Runtime.getRuntime().maxMemory());
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... rate-calls