JDK против JRE против JVM:ключевые различия
Что такое JDK?
JDK — это среда разработки программного обеспечения, используемая для создания апплетов и приложений Java. Полная форма JDK — это Java Development Kit. Разработчики Java могут использовать его в Windows, macOS, Solaris и Linux. JDK помогает им кодировать и запускать Java-программы. На один и тот же компьютер можно установить несколько версий JDK.
Из этого руководства вы узнаете:
- Что такое JDK?
- Что такое JRE?
- Что такое JVM?
- Зачем использовать JDK?
- Зачем использовать JRE?
- Почему JVM?
- Возможности JDK
- Возможности JRE
- Возможности JVM
- Как работает JDK?
- Как работает JRE?
- Как работает JVM?
- Разница между JDK, JRE и JVM
Что такое JRE?
JRE — это часть программного обеспечения, предназначенная для запуска другого программного обеспечения. Он содержит библиотеки классов, класс загрузчика и JVM. Проще говоря, если вы хотите запустить программу Java, вам нужна JRE. Если вы не программист, вам не нужно устанавливать JDK, а достаточно JRE для запуска Java-программ. Тем не менее, все версии JDK поставляются в комплекте с Java Runtime Environment, поэтому вам не нужно загружать и устанавливать JRE отдельно на свой ПК. Полная форма JRE — среда выполнения Java.
Что такое JVM?
JVM — это механизм, который предоставляет среду выполнения для управления Java-кодом или приложениями. Он преобразует байт-код Java в машинный язык. JVM является частью Java Run Environment (JRE). Его нельзя отдельно загрузить и установить. Чтобы установить JVM, вам нужно установить JRE. Полная форма JVM — виртуальная машина Java.
Во многих других языках программирования компилятор создает машинный код для конкретной системы. Однако компилятор Java создает код для виртуальной машины, которая называется JVM.
КЛЮЧЕВЫЕ ОТЛИЧИЯ
- JDK – это комплект для разработки программного обеспечения, тогда как JRE – это пакет программного обеспечения, который позволяет запускать программы Java, тогда как JVM – это среда для выполнения байт-кода.
- Полной формой JDK является Java Development Kit, полной формой JRE – среда выполнения Java, а полной формой JVM – виртуальная машина Java.
- JDK зависит от платформы, JRE также зависит от платформы, но JVM не зависит от платформы.
- JDK содержит инструменты для разработки, отладки и т. д. JRE содержит библиотеки классов и другие вспомогательные файлы, тогда как инструменты разработки программного обеспечения не включены в JVM.
- JDK поставляется с установщиком, с другой стороны, JRE содержит только среду для выполнения исходного кода, тогда как JVM входит в состав как программного обеспечения JDK, так и JRE.
Зачем использовать JDK?
Вот важные причины использования JDK:
- JDK содержит инструменты, необходимые для написания программ Java, и JRE для их выполнения.
- Он включает в себя компилятор, средство запуска приложений Java, Appletviewer и т. д.
- Компилятор преобразует код, написанный на Java, в байтовый код.
- Средство запуска приложений Java открывает JRE, загружает необходимый класс и выполняет его основной метод.
Зачем использовать JRE?
Вот важные причины использования JRE:
- JRE содержит библиотеки классов, JVM и другие вспомогательные файлы. Он не содержит никаких инструментов для разработки Java, таких как отладчик, компилятор и т. д.
- Он использует важные классы пакетов, такие как math, swingetc, util, lang, awt и библиотеки времени выполнения.
- Если вам нужно запускать апплеты Java, в вашей системе должна быть установлена JRE.
Почему JVM?
Вот важные причины использования JVM:
- JVM обеспечивает независимый от платформы способ выполнения исходного кода Java.
- В нем есть множество библиотек, инструментов и фреймворков.
- После того как вы запустите программу Java, вы сможете работать на любой платформе и сэкономить много времени.
- JVM поставляется с компилятором JIT (Just-in-Time), который преобразует исходный код Java в низкоуровневый машинный язык. Следовательно, оно работает быстрее, чем обычное приложение.
Возможности JDK
Вот важные функции JDK:
- Это позволяет обрабатывать несколько расширений в одном блоке catch.
- JDK включает все функции JRE.
- Он содержит инструменты разработки, такие как компилятор, отладчик и т. д.
- JDK предоставляет среду для разработки и выполнения исходного кода Java.
- Его можно установить в операционных системах Windows, Unix и Mac.
- Оператор Diamond можно использовать для указания интерфейса универсального типа вместо написания точного.
Возможности JRE
Вот важные особенности JRE:
- Java Runtime Environment — это набор инструментов, с помощью которых на самом деле запускается JVM.
- JRE содержит технологию развертывания, включая Java Web Start и подключаемый модуль Java.
- Разработчики могут легко запустить исходный код в JRE, но не могут написать и скомпилировать программу Java.
- Он включает библиотеки интеграции, такие как подключение к базе данных Java (JDBC), удаленный вызов методов (RMI), интерфейс именования и каталогов Java (JNDI) и многое другое.
- JRE имеет JVM и клиент виртуальной машины Java HotSpot.
Возможности JVM
Вот важные особенности JVM:
- Он позволяет запускать приложения в облачной среде или на вашем устройстве.
- Виртуальная машина Java преобразует байтовый код в машинный код.
- Он предоставляет базовые функции Java, такие как управление памятью, безопасность, сборка мусора и многое другое.
- JVM запускает программу, используя библиотеки и файлы, предоставляемые Java Runtime Environment.
- JDK и JRE содержат виртуальную машину Java.
- Он может выполнять программу Java построчно, поэтому он также называется интерпретатором.
- JVM легко настраивается, например, вы можете выделить для нее минимальный и максимальный объем памяти.
- Он не зависит от оборудования и операционной системы. Таким образом, вы можете один раз написать Java-программу и запускать ее где угодно.
Как работает JDK?
<центр>
<рисунок> рисунок>центр>
Вот важные компоненты JDK:
- JDK и JRE :JDK позволяет программистам создавать базовые программы Java, которые можно запускать с помощью JRE, включая JVM и библиотеки классов.
- Библиотеки классов: Это группа динамически загружаемых библиотек, которые программа Java может вызывать во время выполнения.
- Компиляторы: Это программа Java, которая принимает текстовый файл разработчиков и компилируется в файл класса Java. Это обычная форма вывода, предоставляемая компилятором, которая содержит байтовый код Java. В Java основным компилятором является Javac.
- Отладчики: Отладчик — это программа Java, которая позволяет разработчикам тестировать и отлаживать программы Java.
- JavaDoc: JavaDoc — это документация, созданная Sun Microsystems для Java. JavaDoc можно использовать для создания документации API в файле HTML из исходной программы
Как работает JRE?
<центр>
<рисунок> рисунок>центр>
JRE содержит экземпляр JVM, библиотечные классы и средства разработки. Когда вы пишете и компилируете код Java, компилятор создает файл класса с байтовым кодом.
Вот важные компоненты JRE:
- Загрузчики классов: Загрузчик классов загружает различные классы, необходимые для запуска программы Java. JVM использует три загрузчика классов:загрузчик классов начальной загрузки, загрузчик классов расширений и загрузчик системных классов.
- Проверка байт-кода: Верификатор байт-кода проверяет байт-код, чтобы код не мешал интерпретатору.
- Переводчик: После загрузки классов и проверки кода интерпретатор считывает код построчно.
- Время выполнения: Время выполнения — это система, используемая в основном в программировании для описания периода времени, в течение которого выполняется конкретная программа.
- Оборудование: После компиляции собственного кода Java он запускается на определенной аппаратной платформе.
Таким образом, программа Java запускается в JRE.
Как работает JVM?
<центр>
<рисунок> рисунок>центр>
Вот важные компоненты JVM:
1) Загрузчик классов
Загрузчик классов — это подсистема, используемая для загрузки файлов классов. Он выполняет три основные функции, т. Загрузка, связывание и инициализация.
2) Область метода
В области методов JVM хранится структура класса, такая как метаданные, код для методов Java и постоянный пул среды выполнения.
3) Куча
Все объекты, массивы и переменные экземпляра хранятся в куче. Эта память совместно используется несколькими потоками.
4) Языковые стеки JVM
В стеках языка Java хранятся локальные переменные и их частичные результаты. Каждый поток имеет свой собственный языковой стек JVM, создаваемый одновременно с созданием потока. Новый кадр создается при вызове метода и удаляется по завершении процесса вызова метода.
5) Регистры ПК
Регистры ПК хранят адрес инструкции виртуальной машины Java, которая выполняется в данный момент. В Java у каждого потока есть отдельный регистр ПК.
6) Стеки нативных методов
Стеки нативных методов содержат инструкции нативного кода в зависимости от нативной библиотеки. Он выделяет память в собственных кучах или использует стек любого типа.
7) Механизм выполнения
Это тип программного обеспечения, которое используется для тестирования программного обеспечения, оборудования или полных систем. Механизм выполнения тестов никогда не несет никакой информации о тестируемом продукте.
8) Интерфейс собственного метода
Native Method Interface — это среда программирования. Это позволяет коду Java, работающему в JVM, вызывать библиотеки и собственные приложения.
9) Библиотеки нативных методов
Нативные библиотеки — это набор нативных библиотек (C, C++), которые необходимы механизму выполнения.
Разница между JDK, JRE и JVM
Вот основные различия между JDK, JRE и JVM:
JDK | JRE | JVM |
---|---|---|
Полной формой JDK является Java Development Kit. | Полной формой JRE является Java Runtime Environment. | Полной формой JVM является виртуальная машина Java. |
JDK – это пакет средств разработки программного обеспечения для разработки приложений на языке Java. | Это пакет программного обеспечения, который предоставляет библиотеки классов Java с необходимыми компонентами для запуска кода Java. | JVM выполняет байт-код Java и предоставляет среду для его выполнения. |
JDK зависит от платформы. | JRE также зависит от платформы. | JVM сильно зависит от платформы. |
Он содержит инструменты для разработки, отладки и мониторинга кода Java. | Он содержит библиотеки классов и другие вспомогательные файлы, необходимые JVM для выполнения программы. | Инструменты разработки программного обеспечения не включены в JVM. |
Это расширенный набор JRE | Это подмножество JDK. | JVM — это подмножество JRE. |
JDK позволяет разработчикам создавать программы Java, которые могут выполняться и запускаться с помощью JRE и JVM. | JRE — это часть Java, которая создает JVM. | Это компонент платформы Java, который выполняет исходный код. |
JDK поставляется с установщиком. | JRE содержит только среду для выполнения исходного кода. | JVM в комплекте как с программным обеспечением JDK, так и с JRE. |
java