Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

java - средство запуска приложения Java

РЕЗЮМЕ

    java [ options ] class [ argument ... ]
    java [ options ] -jar file.jar [ argument ... ]
options
Параметры командной строки.
class
Имя class, который будет вызван.
file.jar
Имя файла фляги, который будет вызван. Используемый только с -jar.
argument
Параметр, который передают к основной функции.

ОПИСАНИЕ

Инструмент java запускает приложение Java. Это делает это, запуская среду выполнения Java, загружая указанный class, и вызывая что основной метод class.

Метод должен быть объявлен общедоступный и статичный, он не должен возвратить значение, и он должен принять a String массив в качестве параметра. Объявление метода должно быть похожим на следующее:

public static void main(String args[])

По умолчанию первым параметром неопции является имя class, который будет вызван. Должно использоваться полностью определенное имя class. Если - опция фляги определяется, первым параметром неопции является имя архива JAR, содержащего class и файлы ресурсов для приложения с запуском class, обозначенный заголовком декларации Основного класса.

Среда выполнения Java ищет запуск class, и другие используемые классы, в трех наборах расположений: начальная загрузка путь class, установленные расширения, и пользователь путь class.

Параметры неопции после имени class или имени файла JAR передают к основной функции.

ОПЦИИ

У средства запуска есть ряд стандартных опций, которые поддерживаются на текущей среде выполнения и будут поддерживаться в будущих выпусках. Кроме того, текущие реализации виртуальных машин поддерживают ряд нестандартных опций, которые подвержены изменениям в будущих выпусках.

Стандартные Опции

- клиент
Выберите Java Клиент HotSpot VM. 64-разрядный способный jdk в настоящий момент игнорирует эту опцию и вместо этого использует Сервер Горячей точки Java VM.

Для значения по умолчанию выбор VM см. Машинное Обнаружение Класса сервера
- сервер
Выберите Java Сервер HotSpot VM. На 64-разрядном способном jdk только Сервер Горячей точки Java VM поддерживается так - параметр сервера неявен.

Для значения по умолчанию выбор VM см. Машинное Обнаружение Класса сервера
-agentlib:libname [=options]
Загрузите собственную библиотеку агента libname, например.

-agentlib:hprof

-agentlib:jdwp=help

-agentlib:hprof=help

Для получения дополнительной информации см. Параметры командной строки Агента JVMTI.
-agentpath:pathname [=options]
Загрузите собственную библиотеку агента полным путем. Для получения дополнительной информации см. Параметры командной строки Агента JVMTI.
- путь к классу пути к классу
- путь к классу cp
Определите список каталогов, архивов JAR, и архивов ZIP, чтобы искать файлы class. Записи пути к классу разделяются двоеточиями (:). Определяя - путь к классу или - CP переопределяет любую установку переменной окружения ПУТИ К КЛАССУ.

Если - путь к классу и - CP не используется, и ПУТЬ К КЛАССУ не устанавливается, пользователь, путь class состоит из текущего каталога (.).

Как специальное удобство, элемент пути class, содержащий базовое имя * считается эквивалентным определению списка всех файлов в каталоге с расширением .jar или .JAR (программа java не может сказать различие между этими двумя вызовами).

Например, если каталог foo содержит a.jar и b.JAR, тогда элемент пути class foo/* расширяется до a A.jar:b.JAR, за исключением того, что порядок файлов фляги является неуказанным. Все файлы фляги в указанном каталоге, даже скрытых, включаются в список. Запись пути к классу, состоящая просто из * расширяется до списка всех файлов фляги в текущем каталоге. CLASSPATH переменная окружения, где определено, будет так же расширена. Любое подстановочное расширение пути к классу происходит прежде, чем виртуальная машина Java запускается - никакая программа Java никогда не будет видеть нерасширенные подстановочные знаки кроме, запрашивая среду. Например; вызывая System.getenv("CLASSPATH").

Для получения дополнительной информации по путям class см. Установку Пути к классу.
-Dproperty=value
Установите системное значение свойства.
-d32
-d64
Запросите что программа быть выполненными в 32-разрядной или 64-разрядной среде, соответственно. Если требуемая среда не устанавливается или не поддерживается, об ошибке сообщают.

В настоящий момент только Java Сервер HotSpot, VM поддерживает 64-разрядную работу, и "-сервер" опция, неявен с использованием-d64. И "-клиент" опция игнорируется с использованием-d64. Это подвержено изменениям в будущем выпуске.

Если ни-d32, ни-d64 не определяются, значение по умолчанию должно работать в 32-разрядной среде, за исключением 64-разрядного только системы. Это подвержено изменениям в будущем выпуске.
-enableassertions [: <имя пакета>"..." |: <имя class>]
- земля [: <имя пакета>"..." |: <имя class>]
-disableassertions [: <имя пакета>"..." |: <имя class>]
Da - [: <имя пакета>"..." |: <имя class>]
Отключите утверждения. Это - значение по умолчанию.

Без параметров disableassertions или da - отключает утверждения. С одним параметром, заканчивающимся в "...", переключатель отключает утверждения в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель отключает утверждения в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель отключает утверждения в указанном class.

Чтобы выполнить программу с утверждениями, включенными в пакете com.wombat.fruitbat, но отключенный в class com.wombat.fruitbat.Brickbat, следующая команда могла использоваться:
java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>
-disableassertions и da - переключатели применяются ко всем загрузчикам class и к системным классам (у которых нет загрузчика class). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается, чтобы включить, утверждает во всех системных классах; см.-disablesystemassertions ниже.
Включите утверждениям. Утверждения отключаются по умолчанию.

Без параметров enableassertions или - земля включает утверждениям. С одним параметром, заканчивающимся в "...", переключатель включает утверждениям в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель включает утверждениям в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель включает утверждениям в указанном class.

Если единственная командная строка содержит многократные экземпляры этих переключателей, они обрабатываются в порядке прежде, чем загрузить любые классы. Так, например, чтобы выполнить программу с утверждениями, включенными только в пакете com.wombat.fruitbat (и любых подпакетах), следующая команда могла использоваться:
java -ea:com.wombat.fruitbat... <Main Class>
-enableassertions и - переключатели земли применяются ко всем загрузчикам class и к системным классам (у которых нет загрузчика class). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается, чтобы включить, утверждает во всех системных классах; см.-enablesystemassertions ниже.
-enablesystemassertions
-esa
Включите утверждает во всех системных классах (устанавливает состояние утверждения значения по умолчанию для системных классов true).
-disablesystemassertions
-dsa
Отключает утверждает во всех системных классах.
- справка или-?
Информация об использовании дисплея и выход.
- фляга
Выполните программу, инкапсулировавшую в файле JAR. Первым параметром является имя файла JAR вместо запуска имя class. Для этой опции, чтобы работать, декларация файла JAR должна содержать строку Основного класса формы: имя класса. Здесь, имя класса идентифицирует class, имеющий     метод public static void main(String[] args), который служит начальной точкой Вашего приложения. См. ссылочную страницу инструмента Фляги и след Фляги Учебного руководства по Java для информации о работе с файлами Фляги и декларациями Файла фляги. 

Когда Вы используете эту опцию, файл JAR является источником всех пользовательских классов, и другим пользователем, настройки пути class игнорируются.

Отметьте, что у файлов JAR, которые могут быть выполнены с "java - фляга" опция, может быть их выполняющий набор полномочий, таким образом, они могут быть выполнены, не используя "java - фляга". Отошлите к Архиву Java (JAR) Файлы.
-javaagent:jarpath [=options]
Загрузите агент языка программирования Java, см. java.lang.instrument.
-jre-restrict-search
Включайте частный на пользователя JREs в поиск версии.
-no-jre-restrict-search
Исключите частный на пользователя JREs в поиске версии.
-showversion
Выведите на экран информацию о версии и продолжайте. (См. также - версия.)
-splash:imagepath
Покажите экран-заставку с изображением, определенным imagepath.
- многословный
-verbose:class
Информация о дисплее о каждом class загружалась.
-verbose:gc
Отчет относительно каждого события сборки "мусора".
-verbose:jni
Сообщите информацию об использовании собственных методов и другого Java Собственное действие Интерфейса.
- версия
Выведите на экран информацию о версии и выход. (См. также-showversion.)
-version:release
Определяет, что версия, определенная выпуском, требуется class или файлом фляги, определенным на командной строке. Если версия вызванной команды java не встретит эту спецификацию, и соответствующая реализация находится на системе, то соответствующая реализация будет использоваться.

выпустите не, только может определить точную версию, но и может также определить список версий, названных строкой версии. Строка версии является упорядоченным списком диапазонов версии, разделенных пробелами. Диапазон версии является или идентификатором версии, идентификатор версии, сопровождаемый звездой (*), идентификатор версии, сопровождаемый знаком "плюс" (+), или два диапазона версии объединили использование амперсанда (&). Звездообразное соответствие префикса средств, знак "плюс" означает эту версию или больше, и амперсанд означает логическое выполнение операции "И" этих двух диапазонов версии. Например:
-version:"1.6.0_13 1.6*&1.6.0_10+"
Значение вышеупомянутого состоит в том, что файл class или фляги требует или версии 1.6.0_13, или версии с 1.6 как префикс идентификатора версии, и это не меньше чем 1.6.0_10.. Точный синтаксис и определение строк версии могут быть сочтены в Приложении A Сети Java Запускающимся Протоколом & Спецификацией (JSR-56) API.

Для файлов фляги обычное предпочтение должно определить требования версии в декларации файла фляги, а не на командной строке.

См. следующий раздел ПРИМЕЧАНИЙ для важной информации о политике об использовании этой опции.

Нестандартные Опции

-X
Информация о дисплее о нестандартных опциях и выходе.
-Xint
Работайте в только интерпретируемом режиме. Компиляция к собственному коду отключается, и все байт-коды выполняются интерпретатором. Выигрыши в производительности, предлагаемые Java адаптивный компилятор VM HotSpot, не будут присутствовать в этом режиме.
-Xbatch
Отключите фоновую компиляцию. Обычно VM скомпилирует метод как фоновую задачу, выполняя метод в режиме интерпретатора, пока фоновая компиляция не будет закончена. Флаг -Xbatch отключает фоновую компиляцию так, чтобы компиляция всех методов продолжилась как приоритетная задача пока не завершено.
-Xbootclasspath:bootclasspath
Определите разделенный от двоеточия список каталогов, архивов JAR, и архивов ZIP, чтобы искать начальную загрузку файлы class. Они используются вместо начальной загрузки файлы class, включенные в платформу Java JDK. Отметьте: Приложения, которые используют эту опцию с целью переопределения class в rt.jar, не должны быть развернуты, поскольку выполнение так нарушило бы лицензию двоичного кода среды выполнения Java.
-Xbootclasspath/a:path
Определите разделенный от двоеточия путь directires, архивов JAR, и архивы ZIP, чтобы добавить к значению по умолчанию загружают путь class.
-Xbootclasspath/p:path
Определите разделенный от двоеточия путь directires, архивов JAR, и архивы ZIP, чтобы предварительно ожидать перед значением по умолчанию загружают путь class. Отметьте: Приложения, которые используют эту опцию с целью переопределения class в rt.jar, не должны быть развернуты, поскольку выполнение так нарушило бы лицензию двоичного кода среды выполнения Java.
-Xcheck:jni
Выполните дополнительные проверки на Java Собственный Интерфейс (JNI) функции. Определенно, виртуальная машина Java проверяет параметров, которые передают к функции JNI так же как данным среды выполнения прежде, чем обработать запрос JNI. Любые недопустимые данные, с которыми встречаются, указывают на проблему в собственном коде, и виртуальная машина Java завершится с фатальной ошибкой в таких случаях. Ожидайте ухудшение производительности, когда эта опция используется.
-Xfuture
Выполните строгий class - проверки формата файла. В целях назад совместимости проверки формата значения по умолчанию, выполняемые виртуальной машиной JDK, не более строги чем проверки, выполняемые 1.1.x версии программного обеспечения JDK. Флаг-Xfuture включает более строгий class - проверки формата файла, которые осуществляют более близкое соответствие к class - спецификация формата файла. Разработчики поощряются использовать этот флаг, разрабатывая новый код, потому что более строгие проверки станут значением по умолчанию в будущих выпусках средства запуска приложения Java.
-Xnoclassgc
Отключите сборку "мусора" class. Использование этой опции предотвратит восстановление памяти после загруженных классов, таким образом увеличивающих полное использование памяти. Это могло заставить OutOfMemoryError быть брошенным в некоторые приложения.
-Xincgc
Включите инкрементному сборщику "мусора". Инкрементный сборщик "мусора", который является прочь по умолчанию, уменьшит случайные длинные паузы сборки "мусора" во время выполнения программы. Инкрементный сборщик "мусора" время от времени выполнится одновременно с программой, и в течение таких времен уменьшит емкость процессора, доступную программе.
-Xloggc:file
Отчет относительно каждого события сборки "мусора", как с-verbose:gc, но регистрирует эти данные к файлу. В дополнение к информации -verbose:gc дает, каждое событие, о котором сообщают, будет preceeded к этому времени (в секундах) начиная с первого события сборки "мусора".

Всегда используйте локальную файловую систему для хранения этого файла, чтобы избежать останавливать JVM из-за сетевой задержки. Файл может быть усеченным в случае полной файловой системы, и журналирование продвинется усеченный файл. Эта опция переопределяет -verbose:gc, если обоим дают на командной строке.
-Xmnsize или-XX:NewSize
Устанавливает размер молодой генерации (детская).
-Xmsn
Определите начальный размер, в байтах, пула выделения памяти. Это значение должно быть кратным числом 1024 больше чем 1 МБ. Добавьте букву k или K, чтобы указать на килобайты, или m или M, чтобы указать на мегабайты. Значение по умолчанию выбирается во времени выполнения, основанном на конфигурации системы. Для получения дополнительной информации см. Эргономику HotSpot

Примеры:
       -Xms6291456
       -Xms6144k
       -Xms6m

-Xmxn
Определите максимальный размер, в байтах, пула выделения памяти. Это значение должно кратное число 1024 больше чем 2 МБ. Добавьте букву k или K, чтобы указать на килобайты, или m или M, чтобы указать на мегабайты. Значение по умолчанию выбирается во времени выполнения, основанном на конфигурации системы. Для получения дополнительной информации см. Эргономику HotSpot

Примеры:
       -Xmx83886080
       -Xmx81920k
       -Xmx80m

На Солярисе 7 и Солярисе 8 платформ SPARC, верхний предел для этого значения составляет приблизительно 4000 м. минус служебное количество. На Солярисе 2.6 и x86 платформах, верхний предел составляет приблизительно 2000 м. минус служебное количество. На платформах Linux верхний предел составляет приблизительно 2000 м. минус служебное количество.
-Xprof
Профилирует рабочую программу, и отправляет данные профилирования стандартному выводу. Эта возможность предоставляется как утилита, которая полезна в разработке программы и не предназначается, чтобы использоваться в производственных системах.
-Xrs
Уменьшает использование сигналов операционной системы виртуальной машиной Java (JVM).

В предыдущем выпуске средство Рычагов Завершения работы было добавлено, чтобы позволить аккуратное завершение работы приложения Java. Намерение состояло в том, чтобы позволить пользовательскому коду уборки (такому как заключительные соединения с базой данных) работать на завершении работы, даже если JVM завершается резко.

JVM Sun ловит сигналы реализовать рычаги завершения работы для аварийного завершения JVM. JVM использует SIGHUP, SIGINT, и SIGTERM, чтобы инициировать выполнение рычагов завершения работы.

JVM использует подобный механизм, чтобы реализовать пред1.2 опции дампа стеков потока для того, чтобы отладить цели. JVM Sun использует SIGQUIT, чтобы выполнить дампы потока.

Приложения, встраивающие JVM часто, должны захватывать сигналы как SIGINT или SIGTERM, который может привести к интерференции с собственными обработчиками сигнала JVM.-Xrs параметр командной строки доступен, чтобы решить эту проблему. Когда-Xrs используется на JVM Sun, масках сигнала для SIGINT, SIGTERM, SIGHUP, и SIGQUIT не изменяются JVM, и обработчики сигнала для этих сигналов не устанавливаются.

Есть два последствия определения-Xrs:
-Xssn
Поток набора складывает размер.
-XX:AllocationPrefetchStyle=n
Устанавливает стиль упреждающей выборки, используемой во время выделения. default=2.
-XX: + AggressiveOpts
Включает агрессивной оптимизации.
-XX: + |-DisableAttachMechanism
Эта опция определяет, позволяют ли инструментам (таким как jmap и jconsole) присоединить к JVM. По умолчанию эта опция отключается. Таким образом, присоединение включается. Использование в качестве примера:
      java -XX:+DisableAttachMechanism
-XXLargePageSizeInBytes=n
Эта опция определяет максимальный размер для больших страниц.
-XX:MaxGCPauseMillis=n
Ставит цель в течение максимального времени паузы GC.
Это - мягкая цель, и JVM сделает свои максимальные усилия, чтобы достигнуть ее. По умолчанию нет никакого максимального набора значений.
-XX:NewSize
Устанавливает размер молодой генерации (детская). Sames как-Xmnsize.
-XX:ParallelGCThreads=n
Определяет номер потоков GC в параллельных коллекторах.
-XX:PredictedClassLoadCount=n
Эта опция требует, чтобы флаг UnlockExperimentalVMOptions был установлен сначала. Используйте флаг PredictedClassLoadCount, если Ваше приложение загружает много классов, и особенно если class.forName () используется в большой степени. Рекомендуемое значение является числом классов, загруженных как показано в выводе от-verbose:class.
Использование в качестве примера:
      java -XX:+UnlockExperimentalVMOptions -XX:PredictedClassLoadCount=60013
-XX: + PrintCompilation
Печатает многословный вывод от HotSpot динамический компилятор времени выполнения.
-XX: + PrintGCDetails-XX: + PrintGCTimeStamps
Сборка "мусора" печатных изданий выводится наряду с метками времени.
-XX:SoftRefLRUPolicyMSPerMB=0
Этот флаг включает агрессивной обработке руководств по программному обеспечению. Используйте этот флаг, если на GC HotSpot воздействует количество руководства по программному обеспечению.
-XX:TLABSize=n
Локальные буферы выделения потока (TLAB) включаются по умолчанию в HotSpot. HotSpot автоматически размеры TLABs, основанный на образцах выделения.-XX:TLABSize опция позволяет подстраивать размер TLABs.
-XX: + UnlockCommercialFeatures
Используйте этот флаг, чтобы активно разблокировать использование коммерческих функций. Коммерческие функции являются продуктами "Java Oracle SE, Усовершенствованный", или "Java Oracle Комплект SE", как определено в Java Oracle веб-страница Продуктов SE.
Если этот флаг не определяется, значение по умолчанию должно выполнить виртуальную машину Java без коммерческих функций, являющихся доступным. Как только им включают, не возможно отключить их использование во времени выполнения.
-XX: + UseAltSigs
VM использует SIGUSR1 и SIGUSR2 по умолчанию, который может иногда конфликтовать с приложениями что цепочечный сигналом SIGUSR1 и SIGUSR2. Опция -XX:+UseAltSigs заставит VM использовать сигналы кроме SIGUSR1 и SIGUSR2 как значение по умолчанию.
-XX: + |-UseCompressedOops
Включает сжатым ссылкам в 64-разрядных JVM.
Эта опция является истиной по умолчанию.
-XX: + UseConcMarkSweepGC или-XX: + UseG1GC
Эти флаги включают или Параллельному Марку Свипу (CMS) или сборщикам "мусора" G1.
-XX: + |-UseLargePages
Используйте этот флаг, чтобы включить большой поддержке страницы. Большие страницы включаются по умолчанию на Солярисе.
-XX: + UseParallelOldGC
Включает параллельным сборщикам "мусора", которые оптимизируются для пропускной способности и среднее время отклика.

ПРИМЕЧАНИЯ

-version:release параметр командной строки не устанавливает ограничений для сложности спецификации выпуска. Однако, только ограниченное подмножество возможных спецификаций выпуска представляют звуковую политику, и только они полностью поддерживаются. Эти политики:

  1. Любая версия, представленная, не используя эту опцию.
  2. Любая версия, больше чем произвольно точный идентификатор версии. Например:
    "1.6.0_10+"
    
    Это использовало бы любую версию, больше чем 1.6.0_10. Это полезно для случая, где интерфейс был представлен (или исправленная ошибка) в определенном выпуске.
  3. Версия, больше чем произвольно точный идентификатор версии, ограниченный верхней границей того семейства выпуска. Например:
    "1.6.0_10+&1.6*"
    
  4. "Или" выражения элементов 2. или 3. выше. Например:
    "1.6.0_10+&1.6* 1.7+"
    
    Подобный элементу 2. это полезно, когда изменение было представлено в выпуске (1.7), но также и сделано доступный в обновлениях к предыдущим выпускам.

Настраивающие Примеры производительности

Следующие примеры показывают, как использовать экспериментальные настраивающие флаги, чтобы оптимизировать или пропускную способность или более быстрое время отклика.

Настройка для Более высокой Пропускной способности

        java -d64 -server -XX:+AggressiveOpts -XX:+UseLargePages -Xmn10g  -Xms26g -Xmx26g 

Настройка в течение Более низкого Времени отклика

        java -d64 -XX:+UseG1GC -Xms26g Xmx26g -XX:MaxGCPauseMillis=500 -XX:+PrintGCTimeStamps 

СТАТУС ВЫХОДА

Следующие значения выхода обычно возвращаются средством запуска, обычно когда средство запуска вызывают с неправильными параметрами, серьезными ошибками, или исключениями, выданными от виртуальной машины Java. Однако, приложение Java может хотеть возвращать любое значение, используя вызов API System.exit(exitValue).

СМ. ТАКЖЕ


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами