Представление двух метафор для лучшего понимания

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

Технический жаргон

JVM, JRE и JDK — это три разных термина, связанных с разработкой Java, и они часто сбивают с толку новичков. Вот краткое объяснение того, что означает каждый термин и как они связаны:

  • JVM: виртуальная машина Java — это абстрактная вычислительная машина, отвечающая за выполнение байт-кода Java. Он интерпретирует байт-код и переводит его в машинно-специфические инструкции, позволяя выполнять код Java в любой системе, в которой установлена ​​JVM.
  • JRE: Java Runtime Environment — это программная среда, включающая в себя JVM и набор библиотек и инструментов, необходимых для запуска Java-приложений. Он предоставляет среду выполнения кода Java для работы на определенной платформе. JRE не включает инструменты разработки, такие как компиляторы или отладчики.
  • JDK: Java Development Kit — это среда разработки программного обеспечения, включающая JRE и средства разработки, такие как компиляторы, отладчики и другие утилиты. JDK используется для разработки приложений Java и включает в себя все необходимое для написания, компиляции и отладки кода Java.

Другими словами, JVM — это механизм, который запускает код Java, JRE — это среда, которая предоставляет ресурсы для JVM для запуска кода Java, а JDK — это среда разработки, включающая все необходимое для разработки, тестирования и отладки Java. код.

Теперь, могу я заинтересовать вас метафорой?

JVM и JRE

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

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

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

Примечание. JVM + JRE = библиотеки и компоненты для выполнения приложений Java

JDK

JDK (Java Development Kit) включает в себя как JRE, так и инструменты разработки, необходимые для создания и компиляции Java-программ. JDK включает компилятор (javac), отладчик (jdb) и другие средства разработки, не включенные в JRE. В нашей языковой метафоре JDK подобен учителю языка, который не только имеет доступ ко всем необходимым ресурсам, но и может создавать новые ресурсы и инструменты для эффективного обучения языку.

Продолжая метафору, учитель языка (JDK) имеет все ресурсы (JRE), необходимые для эффективного обучения языку (Java), и он также может создавать новые ресурсы и инструменты для более эффективного обучения языку. Преподаватель (JDK) может научить новых учащихся (разработчиков Java) говорить и писать на языке, а также может помочь им отлаживать и устранять любые проблемы, возникающие при использовании языка.

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

Примечание. JDK + JRE = разработка и запуск приложений

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

Надеюсь, это поможет! Если нет, я оставлю вам еще одну метафору, чтобы закрепить все, что было сказано.

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