Играя с параметрами, такими как -XX:PermSize
и -Xms
, вы можете настроить производительность, например, запуска вашего приложения. Я не смотрел на это недавно, но несколько лет назад значение по умолчанию -Xms
было что-то вроде 32 МБ (я думаю), если вашему приложению требовалось намного больше, чем оно вызывало бы несколько циклов заполнения памяти - полный сборщик мусора - увеличьте объем памяти и т. д., пока не загрузите все необходимое. Этот цикл может отрицательно сказаться на производительности запуска, поэтому немедленное назначение требуемого номера может улучшить запуск.
Аналогичный цикл применяется к постоянному поколению. Таким образом, настройка этих параметров может улучшить запуск (среди прочих).
ПРЕДУПРЕЖДЕНИЕ JVM обладает большой оптимизацией и интеллектом, когда речь идет о распределении памяти, разделении пространства eden и старших поколений, и т.д. или -XX:PermSize
равно -XX:MaxPermSize
, поскольку это удалит некоторые из оптимизаций, которые JVM может применить к своим стратегиям распределения, и тем самым снизит производительность вашего приложения вместо ее улучшения.
Как всегда: выполните нетривиальные измерения, чтобы доказать, что ваши изменения действительно улучшают производительность в целом (например, увеличение времени запуска может иметь катастрофические последствия для производительности во время использования приложения)