Java - это кроссплатформенная система. Некоторые системы (например, Unix и derviates) имеют команду ulimit
, которая позволяет вам ограничить объем памяти, который может использовать процесс. Другие нет. Плюс Java иногда запускается встроенным, например, в веб-браузере. Вы не хотите, чтобы сломанный апплет сломал ваш рабочий стол (ну, по крайней мере, это была идея, но апплеты никогда не завоевывали популярность, но это другая история). По сути, этот параметр является одним из ключевых краеугольных камней для песочницы .
Таким образом, разработчикам виртуальных машин потребовалось портативное решение: они добавили в виртуальную машину опцию, которая позволяла бы любому пользователю (пользователю, администратору, веб-браузеру) контролировать объем ОЗУ, который виртуальная машина могла бы выделить. Потребности различных видов использования Java слишком разнообразны, чтобы иметь один размер для всех.
Это становится еще важнее сегодня, когда вы смотрите на мобильные устройства. Ваш рабочий стол имеет 2-8 ГБ оперативной памяти, но ваш мобильный, вероятно, гораздо меньше. И для этих вещей вы действительно не хотите, чтобы одно плохое приложение могло сломать устройство, потому что даже не было бы пользователя, который мог бы проверить.