JDK / JRE / JVM
JVM — это «двигатель», который запускает Java-программы. Твой код не выполняется процессором напрямую. Сначала компилятор переводит его в универсальный байт-код, а уже JVM на конкретном компьютере исполняет этот байт-код. Поэтому одна и та же программа работает и на Windows, и на Mac, и на Linux — «написал один раз, запускай везде».
JDK / JRE / JVM — это матрёшка, их часто путают:
JDK — всё для разработки (+ компилятор javac)
JRE — всё для запуска (+ библиотеки)
JVM
исполняет байт-код
исполняет байт-код
Путь кода до запуска:
Байт-код один на всех, а своя JVM есть под каждую ОС — она и переводит байт-код под конкретную машину.
🎤 Закрыл тему, если можешь объяснить:
• чем отличаются JDK, JRE и JVM и зачем нужен байт-код.