Автор оригинала: Pankaj Kumar.
Разница между JDK, JRE и JVM-один из популярных вопросов для интервью. Вас также могут попросить объяснить, что такое JDK против JRE против JVM.
Разница между JDK, JRE и JVM
JDK, JRE и JVM являются основными концепциями языка программирования Java. Мы не используем эти концепции в программировании. Но, как разработчик Java, мы должны знать о них.
1. JDK
Java Development Kit, он же JDK, является основным компонентом среды Java и предоставляет все инструменты, исполняемые файлы и двоичные файлы, необходимые для компиляции, отладки и выполнения программы Java.
JDK-это программное обеспечение для конкретной платформы, и именно поэтому у нас есть отдельные установщики для систем Windows, Mac и Unix.
Мы можем сказать, что JDK является надмножеством JRE, поскольку он содержит JRE с компилятором Java, отладчиком и основными классами.
2. СПМ
JVM – это сердце языка программирования Java. Когда мы выполняем программу Java, JVM отвечает за преобразование байтового кода в машинный код.
JVM также зависит от платформы и предоставляет основные функции java, такие как управление памятью, сбор мусора, безопасность и т.д.
JVM настраивается, и мы можем использовать параметры java для его настройки. Например, выделение минимальной и максимальной памяти для JVM.
JVM называется virtual , потому что он предоставляет интерфейс, который не зависит от базовой операционной системы и аппаратного обеспечения компьютера.
Эта независимость от аппаратного обеспечения и операционной системы делает java-программу доступной для записи и запуска в любом месте.
3. JRE
JRE-это реализация JVM. Он предоставляет платформу для выполнения java-программ. JRE состоит из JVM, двоичных файлов Java и других классов для успешного выполнения любой программы.
JRE не содержит никаких инструментов разработки, таких как компилятор Java, отладчик, оболочка и т.д.
Если вы просто хотите выполнить программу java, вы можете установить только JRE. Вам не нужен JDK, потому что не требуется разработка или компиляция исходного кода java.
Теперь, когда у нас есть базовое понимание JDK, JVM и JRE, давайте рассмотрим разницу между ними.
JDK против JRE против JVM
Давайте рассмотрим некоторые важные различия между JDK, JRE и JVM.
- JDK предназначен для целей разработки, в то время как JRE предназначен для запуска программ java.
- JDK и JRE содержат JVM, чтобы мы могли запускать нашу программу java.
- JVM является сердцем языка программирования java и обеспечивает независимость от платформы.
Компилятор Just-in-time (JIT)
Иногда вы найдете ЕГО рядом с JVM, JDK и JRE в учебниках. JIT является частью JVM, которая оптимизирует процесс преобразования байт-кода в машинный язык. Он одновременно компилирует аналогичные байт-коды и сокращает общее время, затрачиваемое на компиляцию байт-кода на машинный язык.