Ответ
JVM (Java Virtual Machine) — это виртуальная машина, которая исполняет Java байт-код, обеспечивая кроссплатформенность (принцип "write once, run anywhere").
Основные функции:
- Загрузка классов (ClassLoader).
- Верификация байт-кода на безопасность.
- Выполнение кода через интерпретатор или JIT-компилятор (Just-In-Time), который преобразует часто используемые участки байт-кода в нативный машинный код для ускорения.
- Управление памятью, включая автоматическую сборку мусора (Garbage Collection).
Пример работы:
// Исходный код (Main.java)
public class Main {
public static void main(String[] args) {
System.out.println("Hello, JVM!");
}
}
- Компиляция
javac Main.java→ создается файлMain.class(байт-код). - Запуск
java Main→ JVM загружает, проверяет и выполняет байт-код.
Ключевые компоненты архитектуры JVM:
- ClassLoader Subsystem
- Runtime Data Areas: Heap (куча), Stack (стек потока), Method Area (метаданные классов).
- Execution Engine (Интерпретатор, JIT-компилятор)
- Garbage Collector