(Обратите внимание, что когда я говорю "JVM", я действительно имею в виду "Hotspot", и я запускаю последнее обновление для Java 1.6.)
Пример ситуации:
My JVM работает с -Xmx, установленным в 1gb. В настоящее время в куче выделено 500 МБ, из которых используется 450 МБ. Программе необходимо загрузить еще 200 мб в кучу. В настоящее время в куче "сборный" мусор стоит 300 мб (мы будем считать все это в старейшем поколении.)
При нормальной работе JVM вырастет кучу до 700 мб или около того, и мусор будет собираться, когда он приблизится к ней.
Что бы я хотел в этой ситуации, для JVM для gc сначала, а затем выделите новый материал, чтобы в итоге получилось, что размер кучи остался на уровне 500 Мб, а используемая куча на 350 мб.
Есть ли компилятор параметра JVM, который делает это?