Looking for java Keywords? Try Ask4Keywords

Java Language Параметры Java


пример

Команда java поддерживает широкий диапазон опций:

  • Все параметры начинаются с одного символа дефиса или минус-знака ( - ): соглашение об использовании GNU / Linux для использования -- для «длинных» вариантов не поддерживается.

  • Параметры должны появляться перед признанием <classname> или -jar <jarfile> . Любые аргументы после них будут рассматриваться как аргументы, которые будут переданы в приложение Java, которое выполняется.

  • Параметры, которые не начинаются с -X или -XX являются стандартными. Вы можете полагаться на все реализации Java 1 для поддержки любой стандартной опции.

  • Параметры, начинающиеся с -X являются нестандартными параметрами и могут быть удалены из одной версии Java в другую.

  • Опции, начинающиеся с -XX являются расширенными опциями и могут также быть сняты.

Настройка свойств системы с помощью -D

Параметр -D<property>=<value> используется для установки свойства в объекте Properties системы. Этот параметр можно повторить, чтобы установить разные свойства.

Варианты памяти, стека и мусора

Основные параметры управления размерами кучи и стека описаны в разделе «Размеры кучи, пермгена и стека» . (Редакционное примечание: опции сборщика мусора должны быть описаны в той же теме.)

Включение и отключение утверждений

Параметры -ea и -da соответственно включают и отключают проверку assert Java:

  • По умолчанию проверка всех утверждений отключена.
  • Параметр -ea позволяет проверять все утверждения
  • -ea:<packagename>... позволяет проверять утверждения в пакете и всех подпакетах .
  • -ea:<classname>... позволяет проверять утверждения в классе.
  • Параметр -da отключает проверку всех утверждений
  • -da:<packagename>... отключает проверку утверждений в пакете и всех подпакетах .
  • -da:<classname>... отключает проверку утверждений в классе.
  • Параметр -esa позволяет проверять все системные классы.
  • Параметр -dsa отключает проверку всех системных классов.

Параметры можно комбинировать. Например.

$ # Enable all assertion checking in non-system classes 
$ java -ea -dsa MyApp

$ # Enable assertions for all classes in a package except for one.
$ java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat MyApp

Обратите внимание, что включение проверки достоверности может повлиять на поведение Java-программирования.

  • Это может сделать приложение более медленным в целом.
  • Это может привести к тому, что определенные методы потребуют больше времени для запуска, что может изменить время потоков в многопоточном приложении.
  • Это может привести к неожиданным случаям - перед отношениями, которые могут привести к исчезновению аномалий памяти.
  • Неправильно выполненный assert может иметь нежелательные побочные эффекты.

Выбор типа виртуальной машины

Параметры -client и -server позволяют выбирать между двумя различными формами виртуальной машины HotSpot:

  • Форма «клиент» настраивается для пользовательских приложений и предлагает более быстрый запуск.
  • Форма «сервер» настроена для приложений с длительным сроком службы. В процессе JVM «разогревать» требуется больше времени для сбора статистики, что позволяет компилятору JIT лучше выполнять работу по оптимизации собственного кода.

По умолчанию JVM будет работать в 64-битном режиме, если это возможно, в зависимости от возможностей платформы. Параметры -d32 и -d64 позволяют вам выбрать режим явно.


1 - Проверьте официальное руководство для команды java . Иногда стандартная опция описывается как «подлежащая изменению».