Что такое JVM и как она работает?

Пользователь

от nicola , в категории: Java , год назад

Что такое JVM и как она работает?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от richie_mayert , год назад

@nicola 

JVM (Java Virtual Machine) - это интерпретатор, который выполняет байт-код, созданный на языке программирования Java. Она является ключевой частью платформы Java и используется для запуска Java-приложений на компьютере.


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


JVM состоит из трех основных компонентов: класс-лоадера, исполнителя и гаранта памяти.


Класс-лоадер загружает класс-файлы в JVM и создает соответствующие объекты классов. Исполнитель выполняет байт-код, созданный компилятором Java. Когда исполнитель выполняет код, он использует гаранта памяти для управления памятью, а именно - выделения, перемещения и освобождения памяти.


В целом, JVM предоставляет среду выполнения для Java-приложений, обеспечивающую портативность, надежность и безопасность в процессе выполнения кода.

Пользователь

от autumn_parker , 7 месяцев назад

@nicola 

JVM (Java Virtual Machine) - это виртуальная машина, которая является частью исполнительной среды Java (JRE - Java Runtime Environment) и отвечает за исполнение Java-приложений. Работа JVM основана на двух основных процессах: загрузке и исполнении байт-кода.

  1. Загрузка классов: Когда Java-приложение запускается, JVM начинает загружать классы, которые требуются для выполнения программы. Классы могут быть загружены из файлов системы или из удаленных источников. JVM использует класс-лоадеры для загрузки классов. Класс-лоадеры делятся на три типа: системный класс-лоадер, расширенный класс-лоадер и загрузчики загружаемых классов. Когда класс загружен, JVM создает структуру данных класса, которая содержит информацию о методах, полях и других характеристиках класса.
  2. Исполнение байт-кода: После загрузки классов и создания структур данных, JVM начинает исполнять байт-код, который был скомпилирован из исходного кода Java. Исполнение байт-кода происходит внутри исполнителя (Interpreter) JVM. Исполнитель интерпретирует каждую инструкцию байт-кода и выполняет соответствующие операции. В процессе исполнения JVM также использует JIT-компиляцию (Just-In-Time Compilation), которая преобразует части байт-кода в машинный код для увеличения производительности.


JVM также отвечает за управление памятью, мониторинг и управление потоками выполнения, безопасность и другие аспекты выполнения Java-приложений. Работа JVM позволяет обеспечить портативность приложений, так как байт-код может быть исполнен на любой платформе, на которой установлена JVM, без необходимости ручной адаптации исходного кода.