Junior — Middle
Какви аргументи на командния ред са налични за конфигуриране на JVM при стартиране на Java приложение?
sobes.tech AI
Отговор от AI
При стартиране на Java приложение, JVM може да бъде конфигурирана с помощта на различни аргументи от командния ред, които влияят върху поведението на виртуалната машина. Основните категории аргументи:
-
Конфигурация на паметта:
-Xms<size>— началният размер на heap, например-Xms512m-Xmx<size>— максималният размер на heap, например-Xmx1024m-Xss<size>— размер на стека за всеки поток
-
Конфигурация на събирача на отпадъци:
-XX:+UseG1GC— активиране на G1-XX:+UseConcMarkSweepGC— активиране на CMS-XX:+UseParallelGC— активиране на паралелен събирач
-
Дебъгване и мониторинг:
-Xdebug— активиране на режим на дебъгване-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005— конфигурация за отдалечено дебъгване-XX:+PrintGCDetails— показване на подробна информация за събиране на отпадъци
-
Оптимизация на производителността:
-XX:MaxPermSize=<size>(за по-старите версии на JVM) — размер на постоянната генерация-XX:+UseStringDeduplication— дедупликация на низове (за G1)
-
Общи:
-D<име>=<стойност>— задаване на системни свойства-verbose:gc— подробен изход за събиране на отпадъци
Пример за стартиране с конфигурация на паметта и активиране на G1:
java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar