Вы можете, как обычно, вызывать метод System.gc()
перед выделением дополнительных 200 МБ объектов, но это будет просто подсказкой для JVM, что он может или не может следовать, и в любом случае вы не будете знать, когда это произойдет.... как указано в документации, это лучший запрос.
Кстати, учтите, что сборка мусора - тяжелая операция, поэтому, если в этом нет особой необходимости, просто не пытайтесь форсироватьit.
Просто чтобы знать: если вы установите -Xmx1G
, то вы сообщаете JVM, что 1 ГБ - это максимальное пространство для кучи, и, поскольку вы указываете это, я не понимаю, почему это должностарайтесь держать его на низком уровне, если он знает, что 1 ГБ будет все еще в порядке (мы находимся в контексте языков с управлением памятью).Если вы не хотите, чтобы куча так сильно увеличивалась, просто уменьшите максимальное значение, чтобы он был вынужден выполнить GC перед выделением новых объектов, в противном случае, почему вы говорите ему использовать 1 ГБ?