Опции -client
и -server
не имеют ничего общего с серверной компиляцией.Что они на самом деле делают (делают), так это выбирают между различными конфигурациями JVM, которые были (были) настроены на разные варианты использования:
A -client
JVM настроен для более быстрого запуска.
A -server
JVM настроен для долго работающих приложений, где время запуска менее значимо, чем эффективность.
Обратите внимание, что -client
и параметры -server
постепенно сокращаются, и теперь они практически не влияют на большинство конфигураций JVM.Последняя версия Java, в которой задокументированы параметры -client
и -server
, - это Java 8. В более поздних версиях эта функциональность заменена многоуровневой компиляцией и связанными с ней параметрами.
IМне интересно, что на самом деле делается на уровне кода JVM.
Вы можете удовлетворить свое любопытство, прочитав исходный код.(Обратите внимание, что он может измениться с одной версии Java на другую.)