Что такое JIT в Java? - Понимание основ Java



Компилятор Just-In-Time - одна из неотъемлемых частей среды выполнения Java. Эта статья о JIT в Java расскажет вам, как этот компилятор повышает производительность приложений Java.

Каждый язык программирования использует компилятор для преобразования кода языка высокого уровня в двоичный код машинного уровня, поскольку система понимает только двоичный код. В зависимости от типа языка программирования компилятор различается. Теперь поговорим о , он использует этот замечательный компилятор под названием JIT (точно в срок) в Java . Этот блог расскажет вам все о JIT Java Compiler.

Ниже приведены темы, затронутые в этой статье:





Итак, приступим!

Компилятор Java JIT - Обзор

В Компилятор Just-In-Time является одной из неотъемлемых частей . Он в основном отвечает за оптимизацию производительности приложений на основе Java во время выполнения или во время выполнения. В общем, главный девиз компилятора - повышение производительности приложения для конечного пользователя и разработчика приложения.



Глубокое погружение в JIT на Java

  • Байт-код - это главный потенциал среды Java WORA (писать один раз, запускать где угодно). Скорость Приложение Java зависит от способа преобразования байтового кода в собственный машинный код. Байт-код можно либо интерпретировать, либо скомпилировать в собственный код, либо непосредственно выполнить на процессоре. Но если байт-код интерпретируется, это напрямую влияет на скорость работы приложения.

  • Чтобы повысить производительность, JIT-компилятор взаимодействует с JVM во время выполнения, чтобы скомпилировать последовательности байтового кода в собственный машинный код. По сути, при использовании JIT-компилятора собственный код легко выполняется оборудованием по сравнению с JVM Interpreter. Тем самым вы получите огромный выигрыш в скорости выполнения.

  • Когда JIT-компилятор компилирует последовательность байтового кода, он также выполняет определенные оптимизации, такие как анализ данных, преобразование операций стека в операции регистрации, удаление подвыражений и т. Д. очень эффективен с точки зрения исполнения и производительности.



Теперь, когда вы знаете основы JIT-компилятора, давайте продолжим и разберемся с его работой.

Работа JIT-компилятора в Java

Компилятор JIT увеличивает производительность приложений Java во время выполнения. Поскольку Java - это , он состоит из . По сути, он представляет собой байт-код, независимый от платформы, иx выполняется JVM в различных архитектурах.

Рабочий процесс:

как изменить путь Java

На диаграмме ниже показано, как фактическая работа компиляции происходит в среде выполнения Java.

Компилятор JIT - JIT в Java - Edureka

  1. Когда вы кодируете , JRE использует компилятор javac для компиляции высокоуровневого Исходный код в байтовый код . После этого JVM загружает байтовый код во время выполнения и преобразует в двоичный код машинного уровня для дальнейшего выполнения с помощью интерпретатора.

  2. Как я уже упоминал выше, интерпретация байтового кода Java снижает производительность по сравнению с собственным приложением. Именно здесь JIT-компилятор помогает повысить производительность за счет компиляции байтового кода в машинный код. 'вовремя' бежать.

  3. Компилятор JIT активируется и включается по умолчанию при вызове метода в Java. Когда метод компилируется, виртуальная машина Java вызывает скомпилированный код метода напрямую, не интерпретируя его. Следовательно, он не требует большого использования памяти и процессорного времени. Это в основном увеличивает производительность собственного Java-приложения.

    print_r в строку

Итак, вот как это работает. Теперь давайте углубимся в эту статью и разберемся с аспектами безопасности JIT-компилятора в Java.

Аспекты безопасности JIT в Java

Компиляция байтового кода в машинный код JIT-компилятором выполняется непосредственно в памяти. то есть компилятор загружает машинный код прямо в память и выполняет его. В этом случае он не сохраняет машинный код на диск перед вызовом файла класса и его выполнением. По сути, память должна быть помечена как исполняемая. В целях безопасности это следует завершить после того, как код будет записан в память. Он также должен быть отмечен как доступный только для чтения, поскольку исполняемая память является дырой в безопасности. Если вы хотите узнать об этом больше, вы можете прочитать эту статью на Аспекты безопасности JIT-компилятора .

Теперь давайте пойдем дальше и узнаем плюсы и минусы Компилятор Just-In-Time в Java.

Плюсы и минусы JIT в Java

Плюсы :

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

  2. Образы в исходном коде также выполняются быстрее, поскольку они не содержат действий при запуске и требуют меньше памяти.

Минусы:

  1. Увеличивает сложность .

  2. Программы с меньшим количеством кода не получают преимуществ от своевременной компиляции.

На этом мы подошли к концу статьи о JIT в Java. Надеюсь, вы нашли это информативным.

Проверьте от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Мы здесь, чтобы помогать вам на каждом этапе вашего пути. Для того, чтобы стать помимо вопросов на собеседовании по Java, мы разработали учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиками.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к статье «JIT в Java», и мы свяжемся с вами как можно скорее.