Java#

Интерпретатор Java — это инструмент для загрузки и преобразования байт-кода, созданного компилятором Java (javac), в машинные инструкции для выполнения Java-программ.

Основные функции интерпретатора Java:

  • Запуск программ: интерпретатор считывает байт-код программы и исполняет его на JVM (Java Virtual Machine), обеспечивая выполнение всех инструкций, включая работу с памятью, управление потоками и обработку исключений.

  • Оптимизация кода: в процессе выполнения интерпретатор может оптимизировать код для повышения производительности. Например, часто выполняемые участки кода могут быть преобразованы в машинный код через процесс Just-In-Time-компиляции (JIT).

  • Управление ресурсами: интерпретатор контролирует выделение памяти, отслеживает ее утечки и запускает сборщик мусора (Garbage Collector) для освобождения неиспользуемых ресурсов.

  • Обеспечение безопасности: интерпретатор контролирует доступ к системным ресурсам и ограничивает возможности программы в соответствии с политикой безопасности JVM.

Установка

Интерпретатор Java устанавливается с помощью команды dnf install. Подробнее про работу пакетного менеджера DNF в разделе «Управление программными пакетами: установка, обновление, удаление».

Примечание

В поставку ОС Platform V SberLinux OS Server входят следующие версии Java:

  • Java 17;

  • Java 21.

Желаемая версия Java указывается при установке.

Использование интерпретатора#

Для работы с интерпретатором используйте синтаксис:

java <options> <class> <arguments>

Или:

java <options> -jar <file> <arguments>  

Где:

  • <options> — опции;

  • <class> — имя класса, содержащего метод main(), который является точкой входа в программу. Указывается без расширения .class;

  • <file> — имя вызываемого jar-файла. Используется совместно с опцией -jar;

  • <arguments> — аргументы.

Опции#

Часто используемые опции интерпретатора представлены в таблице ниже.

Опции Java#

Опция

Описание

-client

Выбрать виртуальную машину Java HotSpot Client. Это значение по умолчанию

-server

Выбрать виртуальную машину Java HotSpot Server

-classpath

Указать список директорий, архивов JAR и ZIP для поиска файлов классов

-Xdebug

Запустить отладчик

-Dproperty=value

Установить значение системного свойства

-jar

Выполнить программу, находящуюся в архиве JAR

-Xnoclassgc

Отключить сборку мусора для классов

-Xms <n>

Задать начальный размер пула выделения памяти (heap) в байтах

-Xmx <n>

Установить максимальный размер пула выделения памяти в байтах. Это значение должно быть больше 1000. Чтобы изменить единицу измерения <n>, добавьте k для килобайт, m для мегабайт, g для гигабайт. По умолчанию используется значение 64m

-Xss <n>

Установить максимальный размер стека в байтах, который может использовать код на языке C в потоке

-verbose

Отобразить информацию обо всех загруженных классах

-verbose:class

Отобразить информацию о каждом загруженном классе

-verbose:gc

Отобразить информацию о каждом событии сборки мусора

-verbose:jni

Отобразить информацию об использовании собственных методов и другой активности Java Native Interface (JNI)

-version

Отобразить информацию о версии

-help

Вывести справку по интерпретатору

-X

Вывести информацию о нестандартных опциях

Примеры использования#

  • Запуск программы из файла MyApp.jar с указанием начального размера heap, равным 512 Мб:

    java -Xms512m -jar MyApp.jar
    
  • Запуск программы из файла MyProgram.jar с выводом расширенной информацией о сборке мусора:

    java -verbose:gc -jar MyProgram.jar
    
  • Просмотр информации о версии Java:

    java -version
    

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

man java

Или:

java -help