68) 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 Runtime Environment.
Что такое JVM?
JVM – это механизм, обеспечивающий среду выполнения для управления Java-кодом или приложениями. Он преобразует байт-код Java в машинный язык. JVM является частью Java Run Environment (JRE). Его нельзя отдельно загрузить и установить. Чтобы установить JVM, вам нужно установить JRE. Полная форма JVM – виртуальная машина Java.
Во многих других языках программирования компилятор создает машинный код для конкретной системы. Однако компилятор Java создает код для виртуальной машины, которая называется JVM.
Зачем использовать JDK?
Вот важные причины использования JDK:
- JDK содержит инструменты, необходимые для написания программ на Java, и JRE для их выполнения.
- Он включает в себя компилятор, средство запуска приложений Java, Appletviewer и т. Д.
- Компилятор преобразует код, написанный на Java, в байтовый код.
- Средство запуска приложений Java открывает JRE, загружает необходимый класс и выполняет его основной метод.
Зачем использовать JRE?
Вот важные причины использования JRE:
- JRE содержит библиотеки классов, JVM и другие вспомогательные файлы. Он не содержит никаких инструментов для разработки Java, таких как отладчик, компилятор и т. Д.
- Он использует важные классы пакетов, такие как библиотеки math, swingetc, util, lang, awt и runtime.
- If you have to run Java applets, then JRE must be installed in your system.
Why JVM?
Here are the important reasons of using JVM:
- JVM provides a platform-independent way of executing Java source code.
- It has numerous libraries, tools, and frameworks.
- Once you run Java program, you can run on any platform and save lots of time.
- JVM comes with JIT(Just-in-Time) compiler that converts Java source code into low-level machine language. Hence, it runs more faster as a regular application.
Features of JDK
Here are the important features of JDK:
- It enables you to handle multiple extensions in a single catch block.
- JDK includes all features that JRE has.
- It contains development tools such as a compiler, debugger, etc.
- JDK provides the environment to develop and execute Java source code.
- It can be installed on Windows, Unix, and Mac operating systems.
- Diamond operator can be used in specifying a generic type interface instead of writing the exact one.
Features of JRE
Here are the important features of JRE:
- Java Runtime Environment is a set of tools using which the JVM actually runs.
- JRE contains deployment technology, including Java Web Start and Java Plug-in.
- Developers can easily run the source code in JRE, but he/she cannot write and compile the Java program.
- It includes integration libraries like Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI), and more.
- JRE has JVM and Java HotSpot virtual machine client.
Features of JVM
Here are the important features of JVM:
- It enables you to run applications in a cloud environment or in your device.
- Java Virtual Machine converts byte code to the machine-specific code.
- It provides basic java functions like memory management, security, garbage collection, and more.
- JVM runs the program by using libraries and files given by Java Runtime Environment.
- JDK and JRE both contain Java Virtual Machine.
- It can execute the java program line by line hence it is also called as interpreter.
- JVM is easily customizable for example, you can allocate minimum and maximum memory to it.
- It is independent from hardware and the operating system. So, you can write a java program once and run anywhere.
How JDK Functions?
Here are the important components of JDK:
- JDK and JRE: The JDK enables programmers to create core Java programs that can be run by the JRE, which included JVM and class libraries.
- Библиотеки классов: это группа динамически загружаемых библиотек, которые 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) Класс Loader
Загрузчик классов – это подсистема, используемая для загрузки файлов классов. Он выполняет три основные функции, а именно. Загрузка, связывание и инициализация.
2) Область метода
Область методов JVM хранит структуру класса, такую как метаданные, код для методов Java и постоянный пул времени выполнения.
3) куча
Все объекты, массивы и переменные экземпляра хранятся в куче. Эта память распределяется между несколькими потоками.
4) Языковые стеки JVM
Стеки языка Java хранят локальные переменные и их частичные результаты. Каждый поток имеет свой собственный языковой стек JVM, создаваемый одновременно с созданием потока. Новый кадр создается при вызове метода и удаляется по завершении процесса вызова метода.
5) ПК Регистры
Регистры ПК хранят адрес инструкции виртуальной машины Java, которая в данный момент выполняется. В Java каждый поток имеет свой отдельный регистр ПК.
6) Стеки родного метода
Стеки нативных методов содержат инструкцию нативного кода, зависит от нативной библиотеки. Он распределяет память по собственным кучам или использует любой тип стека.
7) Исполнение двигателя
Это тип программного обеспечения, который используется для тестирования программного обеспечения, оборудования или комплектных систем. Механизм выполнения теста никогда не несет никакой информации о тестируемом продукте.
8) интерфейс родного метода
Интерфейс Native Method представляет собой среду программирования. Он позволяет коду 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. |
ОСНОВНЫЕ РАЗЛИЧИЯ
- JDK – это набор средств для разработки программного обеспечения, тогда как JRE – это пакет программ, позволяющий запускать программы на Java, тогда как JVM – это среда для выполнения байт-кода.
- Полной формой JDK является Java Development Kit, в то время как полной формой JRE является Java Runtime Environment, а полной формой JVM является виртуальная машина Java.
- JDK зависит от платформы, JRE также зависит от платформы, но JVM не зависит от платформы.
- JDK содержит инструменты для разработки, отладки и т. Д. JRE содержит библиотеки классов и другие вспомогательные файлы, тогда как инструменты разработки программного обеспечения не включены в JVM.
- JDK поставляется с установщиком, с другой стороны, JRE содержит только среду для выполнения исходного кода, тогда как JVM входит в состав как программного обеспечения JDK, так и JRE.
java — В чем разница между Open JDK и Oracle JDK
Вопрос задан
Изменён 6 лет 9 месяцев назад
Просмотрен 12k раз
В чем разница между Open JDK и Oracle JDK?
Я так понял они делают одно и тоже. .. Просто я работал с OpenCV и пока разбирался как установить эту библиотеку наверное нечайно установил и OpenJDK и теперь студия показывает мне такое сообщение :
Что рекомендуется использовать Oracle JDK
И я вот думаю нужно теперь обратно все переустанавливать?
- java
- android
- android-studio
- opencv
3
разница между ними очень простая — одно выпускает Оракл и является «правильной, оригинальной JVM» от производителя. OpenJDK — это альтернативная разработка, открытая (в отличии от оракловской реализации) — можно посмотреть исходники.
И хотя между ними в теории не должно быть отличий, всеже они есть. Самое главное — это лицензия. Все остальное мелочи. Но вот только эти мелочи иногда и вылазят.
Android Studio построена на базе IDEA от JetBrains, а следовательно содержит все те же особенности. Разработчики IDEA глубоко ковыряются в JVM и видимо используют какие то особенности, что в результате на OpenJDK начинает иногда хромать графика (например, плохо отрисовываются шрифты). Поэтому они рекомендуют использовать jdk от Оракла.
как пофиксить минимальными усилиями?
Самый простой и красивый способ — это задать переменную окружения JDK_HOME
(или STUDIO_JDK
— если хотите исключительно для студии) равной папке, где храниться jdk (проверить это просто — в этой папке должна быть папка bin
, в которой будет java
). Это работает под всеми осями. Более того, вы можете даже скачать себе отдельно и распаковать и прописать.
13
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
java — В чем разница между JDK и JRE?
Примечание редактора: этот вопрос был задан в 2009 году, когда мир был другим.
В 2022 году стандартный OpenJDK с открытым исходным кодом предназначен только для JDK.
В чем разница между JDK и JRE?
Каковы их роли и когда следует использовать ту или иную?
3
JRE — это среда выполнения Java . Это пакет всего необходимого для запуска скомпилированной Java-программы, включая виртуальную машину Java (JVM), библиотеку классов Java, команда java
и другая инфраструктура. Однако его нельзя использовать для создания новых программ.
JDK — это Java Development Kit , полнофункциональный SDK для Java. В нем есть все, что есть в JRE, а также компилятор ( javac
) и инструменты (например, javadoc
и jdb
). Он способен создавать и компилировать программы.
Обычно, если вы заботитесь только о запуске Java-программ на компьютере, вы устанавливаете только JRE. Это все, что вам нужно. С другой стороны, если вы планируете программировать на Java, вместо этого вам необходимо установить JDK.
Иногда, даже если вы не планируете заниматься разработкой Java на компьютере, вам все равно необходимо установить JDK. Например, если вы развертываете веб-приложение с JSP, технически вы просто запускаете Java-программы внутри сервера приложений. Зачем тогда вам нужен JDK? Поскольку сервер приложений преобразует JSP в сервлеты Java и должен использовать JDK для компиляции сервлетов. Я уверен, что есть еще примеры.
10
Ответ выше (от Пабло) очень правильный. Это просто дополнительная информация.
JRE , как следует из названия, является средой . По сути, это набор каталогов с файлами, связанными с Java, а именно:
-
bin/
содержит исполняемые программы Java. Наиболее важным являетсяjava
(а для Windows еще иjavaw
), который запускает JVM.Здесь есть и другие утилиты, такие как
keytool
исредство политики
. -
conf/
содержит редактируемые пользователем файлы конфигурации для экспериментов с Java-экспертами. -
lib/
имеет большое количество вспомогательных файлов: некоторые.jar
s, файлы конфигурации, файлы свойств, шрифты, переводы, сертификаты и т.д. — все «обрезки» Java. Наиболее важным являетсяmodules
, файл, содержащий файлы.class
стандартной библиотеки Java. - На определенном уровне стандартная библиотека Java должна вызывать собственный код. Для этой цели JRE содержит около
.dll
(Windows) или.dylib
(macOS) или.so
(Linux) файлы в каталогеbin/
илиlib/
с поддержкой собственного двоичного кода для конкретной системы.
JDK также представляет собой набор каталогов. Это надмножество JRE с некоторыми дополнениями:
-
bin/
дополнен инструментами разработки.Наиболее важным из них является
javac
; другие включаютjar
,javadoc
иjshell
. Добавлен -
jmods/
, который содержит файлы JMOD для стандартной библиотеки. Эти файлы позволяют использовать стандартную библиотеку сjlink
.
8
JDK — это расширенный набор JRE, который содержит все, что есть в JRE, а также такие инструменты, как компиляторы и отладчики, необходимые для разработки апплетов и приложений. JRE предоставляет библиотеки, виртуальную машину Java (JVM) и другие компоненты для запуска апплетов и приложений, написанных на языке программирования Java.
1
С точки зрения непрофессионала: JDK — дедушка, JRE — отец, а JVM — их сын. [т.е. JDK > JRE > JVM]
JDK = JRE + средства разработки/отладки
JRE = JVM + классы пакетов Java (например, util, math, lang, awt, Swing и т.
д.) + библиотеки времени выполнения.
JVM = система загрузчика классов + область данных времени выполнения + механизм выполнения.
Другими словами, если вы Java-программист, вам понадобится JDK в вашей системе, и этот пакет также будет включать JRE и JVM, но если вы обычный пользователь, который любит играть в онлайн-игры, вам понадобится только JRE, и этот пакет будет в нем нет JDK.
JVM :
Виртуальная машина Java (JVM) — это виртуальная машина, на которой выполняются байт-коды Java. JVM не понимает исходный код Java, поэтому вы компилируете файлы *.java для получения файлов *.class, содержащих байт-коды, понятные JVM. Это также объект, который позволяет Java быть «переносимым языком» (написать один раз, запустить где угодно). Действительно, существуют определенные реализации JVM для разных систем (Windows, Linux, MacOS, см. список в Википедии..), цель состоит в том, чтобы с одинаковыми байт-кодами все они давали одинаковые результаты.
JDK и JRE
Чтобы объяснить разницу между JDK и JRE, лучше всего прочитать документацию Oracle и свериться со схемой:
Среда выполнения Java (JRE) ) предоставляет библиотеки, виртуальную машину Java и другие компоненты для запуска апплетов и приложений, написанных на языке программирования Java. Кроме того, в состав JRE входят две ключевые технологии развертывания: подключаемый модуль Java, позволяющий запускать апплеты в популярных браузерах; и Java Web Start, который развертывает автономные приложения по сети. Он также является основой для технологий платформы Java 2 Enterprise Edition (J2EE) для разработки и развертывания корпоративного программного обеспечения. JRE не содержит инструментов и утилит, таких как компиляторы или отладчики, для разработки апплетов и приложений.
Java Development Kit (JDK)
JDK — это расширенный набор JRE, который содержит все, что есть в JRE, а также такие инструменты, как компиляторы и отладчики, необходимые для разработки апплетов и приложений.
Обратите внимание, что JDK предоставляется не только Oracle.
Процесс JIT-компиляции (любезно предоставлено документацией Oracle)
4
С официального сайта Java…
JRE (среда выполнения Java):
- Это реализация виртуальной машины Java*, которая фактически выполняет программы Java.
- Java Runtime Environment — это подключаемый модуль, необходимый для запуска программ Java.
- JRE меньше, чем JDK, поэтому ему требуется меньше места на диске.
- JRE можно бесплатно загрузить/поддерживать с веб-сайта https://www.java.com
- Включает в себя JVM, библиотеки Core и другие дополнительные компоненты для запуска приложений и апплетов, написанных на Java.
JDK (Java Development Kit)
- Это пакет программного обеспечения, которое можно использовать для разработки приложений на основе Java.
- Java Development Kit необходим для разработки Java-приложений.
- Для JDK требуется больше места на диске, так как он содержит JRE вместе с различными инструментами разработки.
- JDK можно бесплатно загрузить/поддерживать с https://www.oracle.com/technetwork/java/javase/downloads/
- Включает JRE, набор классов API, компилятор Java, Webstart и дополнительные файлы, необходимые для написания апплетов и приложений Java.
Одно отличие с точки зрения отладки:
Для отладки системных классов Java, таких как String и ArrayList, вам потребуется специальная версия JRE, которая скомпилирована с «отладочной информацией». JRE, входящая в состав JDK, предоставляет эту информацию, а обычная JRE — нет. Обычная JRE не включает эту информацию, чтобы обеспечить лучшую производительность.
Что такое отладочная информация? Вот краткое объяснение, взятое из этого сообщения в блоге:
Современные компиляторы довольно хорошо справляются с преобразованием вашего высокоуровневого кода, с его красивыми отступами и вложенными управляющими структурами и произвольными типизированными переменными, в большую кучу битов, называемых машинным кодом (или байт-кодом в случае Java), единственная цель которых заключается в том, чтобы работать как можно быстрее на целевом ЦП (виртуальном ЦП вашей JVM).
Код Java преобразуется в несколько инструкций машинного кода. Переменные распиханы повсюду — в стек, в регистры или полностью оптимизированы. Структуры и объекты даже не существуют в полученном коде — это просто абстракция. который преобразуется в жестко запрограммированные смещения в буферах памяти.
Так как же отладчик узнает, где остановиться, когда вы просите его остановиться на входе в какую-либо функцию? Как ему удается найти, что показать вам, когда вы запрашиваете значение переменной? Ответ — отладочная информация.
Отладочная информация генерируется компилятором вместе с машинным кодом. Это представление взаимосвязи между исполняемой программой и исходным кодом. Эта информация кодируется в заранее определенный формат и хранится вместе с машинным кодом. Многие такие форматы были изобретены за эти годы для разных платформ и исполняемых файлов.
0
JVM, JRE, JDK — это основа языка Java. Каждый компонент работает отдельно. JDK и JRE физически существуют, но JVM — это абстрактная машина, что означает, что она физически не существует.
JVM — это подсистема JDK и JRE, которая используется для проверки промежуточного кода, известного как «байт-код». Сначала он загружает «файл класса» (с расширением .c), сгенерированный компилятором Java (javac) через загрузчик классов подсистемы JVM, и классифицирует расположение памяти (область класса, стек, куча и регистры ПК) в соответствии с их использованием. Затем он проверяет весь байт-код, чтобы убедиться, что он возвращен в Java, и все доступы к памяти со стороны сети. После этого начинается работа интерпретатора, который проверяет всю программу построчно. Наконец, результаты отображаются в консоли/браузере/приложении через JRE (Java Runtime Environment).
JRE также является подсистемой JDK, которая предоставляет средства выполнения, такие как JVM, классы, исполняемые файлы, такие как файл . jar и т. д.
JDK означает Java Development Kit. Он содержит все необходимые компоненты, используемые в программировании на Java, такие как класс, метод, свинг, AWT, пакет, Java (интерпретатор), javac (компилятор), appletviewer (средство просмотра приложений апплета) и т. д. В заключение, он содержит все файлы, необходимые для разработки. приложений, как автономных, так и веб-приложений.
Вот простой ответ непосредственно от Oracle http://docs.oracle.com/javase/7/docs/technotes/guides/
Среда выполнения Java SE (JRE)
JRE предоставляет библиотеки, виртуальную машину Java и другие компоненты, необходимые для запускать апплеты и приложения, написанные на языке программирования Java. Эту среду выполнения можно распространять вместе с приложениями, чтобы сделать их автономными.
Комплект для разработки Java SE (JDK)
JDK включает в себя JRE плюс инструменты разработки командной строки, такие как компиляторы и отладчики, которые необходимы или полезны для разработки апплетов и приложений.
2
JRE
JRE является аббревиатурой от Java Runtime Environment. Он используется для обеспечения среды выполнения. Это реализация JVM. Он физически существует. Он содержит набор библиотек + другие файлы, которые JVM использует во время выполнения.
ЖДК
JDK — это аббревиатура от Java Development Kit. Он физически существует. Он содержит инструменты разработки JRE +.
Ссылка: — http://www.javatpoint.com/difference-between-jdk-jre-and-jvm
Обычно, когда вы заботитесь только о запуске Java-программ в браузере или на компьютере, вы устанавливаете только JRE. Это все, что вам нужно. С другой стороны, если вы планируете программировать на Java, вам также понадобится JDK.
JVM, JRE и JDK зависят от платформы, поскольку конфигурация каждой ОС различается. Но Java не зависит от платформы.
Виртуальная машина Java (JVM) — это система времени выполнения, которая выполняет байт-код Java.
JRE — это среда (стандартные библиотеки и JVM), необходимая для запуска приложений Java.
JDK включает в себя JRE и инструменты разработки командной строки, такие как компиляторы и отладчики, которые необходимы или полезны для разработки апплетов и приложений.
JVM (виртуальная машина Java) — это абстрактная машина. Это спецификация, которая обеспечивает среду выполнения, в которой может выполняться байт-код Java.
JRE — это аббревиатура от Java Runtime Environment. Она используется для обеспечения среды выполнения. Это реализация JVM. Она физически существует. Она содержит набор библиотек + другие файлы, которые JVM использует во время выполнения. Java Development Kit. Он физически существует. Он содержит JRE + средства разработки
. Если вы хотите запускать Java-программы, но не разрабатывать их, загрузите Java Run-time Environment или JRE. Если вы хотите разработать их, загрузите комплект Java Development Kit или JDK 9.0004
JDK
Назовем JDK набором, который включает в себя то, что необходимо для разработки и запуска Java-приложений.
JDK предоставляется как среда разработки для создания приложений, компонентов и апплетов.
JRE
Содержит все необходимое для запуска Java-приложений в скомпилированном виде. Вам не нужны никакие библиотеки и прочее. Все, что вам нужно, собрано.
JRE нельзя использовать для разработки, она используется только для запуска приложений.
Если вы Java-программист , вам понадобится JDK в вашей системе, и этот пакет также будет включать JRE и JVM, но если вы обычный пользователь , который любит играть в онлайн-игры, вам понадобится только JRE , и в этом пакете не будет JDK.
JVM
JVM (виртуальная машина Java) — это абстрактная машина. Это Спецификация, обеспечивающая среду выполнения, в которой байт-код Java может быть казнен.
JVM доступны для многих аппаратных и программных платформ. JVM, JRE и JDK зависят от платформы, поскольку конфигурация каждой ОС отличается.
Но Java не зависит от платформы.
JRE
Содержит все необходимое для запуска Java-приложений в скомпилированном виде. форма. Вам не нужны никакие библиотеки и прочее. Все, что вы нужно составить.
JRE не может использоваться для разработки, используется только для запуска Приложения.
Комплект для разработки Java SE (JDK)
JDK включает в себя JRE плюс инструменты разработки командной строки, такие как компиляторы и отладчики, необходимые или полезные для разработки апплеты и приложения.
(Источники: вопросы и ответы GeeksForGeeks, обзор платформы Java)
1
Просто:
JVM — это Java-код виртуальной машины, который выполняется на
JRE — это среда (стандартные библиотеки и JVM), необходимая для запуска приложений Java
JDK — это JRE с инструментами разработчика и документацией
Четкое понимание этих терминов (JVM, JDK, JRE) необходимо для понимания их использования и различий .
JVM Виртуальная машина Java (JVM) — это система времени выполнения, которая выполняет байт-код Java. JVM похожа на виртуальный компьютер, который может выполнять набор скомпилированных инструкций и манипулировать ячейками памяти. Когда компилятор Java компилирует исходный код, он создает оптимизированный набор инструкций, называемый байт-кодом, в файле .class. JVM интерпретирует эти инструкции байт-кода и преобразует их в машинно-зависимый код для выполнения.
ЖДК Java Development Kit (JDK) — это среда разработки программного обеспечения, которую можно использовать для разработки и выполнения приложений Java. Он включает в себя JRE и набор инструментов программирования, таких как компилятор Java, интерпретатор, средство просмотра апплетов и средство просмотра документов. JDK реализован на платформах Java SE, Java EE или Java ME.
JRE Среда выполнения Java (JRE) — это часть JDK, которая включает в себя JVM, базовые классы и несколько библиотек, поддерживающих разработку приложений. Хотя JRE доступна как часть JDK, ее также можно загрузить и использовать отдельно.
Для полного понимания вы можете посмотреть мой блог: Jdk Jre Jvm и отличия
0
jdk необходим для компиляции в код и преобразования java-кода в байт-коды, а jre необходим для выполнения байт-кодов.
1
JDK включает JRE плюс инструменты разработки командной строки, такие как компиляторы и отладчики, которые необходимы или полезны для разработки апплетов и приложений.
JRE — это, по сути, виртуальная машина Java, на которой выполняются ваши программы Java. Он также включает в себя плагины для браузера для выполнения апплета.
JDK — это абстрактная машина. Это спецификация, которая обеспечивает среду выполнения, в которой может выполняться байт-код Java.
Итак, в основном JVM < JRE < JDK, как сказал @Jaimin Patel.
Разница между JDK и JRE заключается в том, что JDK — это комплект для разработки программного обеспечения для Java, а JRE — это место, где вы запускаете свои программы.
предположим, если вы разработчик, то ваша роль заключается в разработке программы, а также в ее выполнении. поэтому у вас должна быть среда для разработки и выполнения, предоставляемая JDK.
Предположим, если вы являетесь клиентом, вам не нужно беспокоиться о разработке. Вам нужна только среда для запуска программы и получения результата, которая предоставляется JRE.
JRE выполняет приложение, но JVM считывает инструкции построчно, так что это интерпретатор.
JDK=JRE+Инструменты разработки
JRE=JVM+Library Classes
JRE
JRE — это аббревиатура от Java Runtime Environment. Она используется для обеспечения среды выполнения. Это реализация JVM. Он физически существует. Он содержит набор библиотек + другие файлы, которые JVM использует во время выполнения.
Внедрение JVM также активно выпускается другими компаниями помимо Sun Micro Systems.
JDK
JDK — это аббревиатура от Java Development Kit. Он физически существует. Он содержит JRE + инструменты разработки.
1
Разница между JDK, JRE и JVM
следующий → ← предыдущая
Мы должны понимать различия между JDK, JRE и JVM, прежде чем переходить к Java. См. краткий обзор JVM здесь. Если вы хотите получить подробные сведения о виртуальной машине Java, перейдите на следующую страницу. Во-первых, давайте посмотрим на различия между JDK, JRE и JVM. JVM JVM (виртуальная машина Java) — это абстрактная машина. Она называется виртуальной машиной, потому что физически не существует. JVM доступны для многих аппаратных и программных платформ. JVM, JRE и JDK зависят от платформы, поскольку конфигурация каждой ОС отличается друг от друга. Однако Java не зависит от платформы. Есть три понятия JVM: спецификация , реализация и экземпляр . JVM выполняет следующие основные задачи:
JRE JRE — это аббревиатура от Java Runtime Environment. Он также написан как Java RTE. Java Runtime Environment — это набор программных инструментов, которые используются для разработки Java-приложений. Он используется для обеспечения среды выполнения. Это реализация JVM. Он физически существует. Реализация JVM также активно выпускается другими компаниями помимо Sun Micro Systems. ЖДКJDK — это аббревиатура от Java Development Kit. Java Development Kit (JDK) — это среда разработки программного обеспечения, используемая для разработки Java-приложений и апплетов. Он физически существует. Он содержит инструменты разработки JRE +. JDK — это реализация любой из перечисленных ниже платформ Java, выпущенных корпорацией Oracle:
JDK содержит частную виртуальную машину Java (JVM) и несколько других ресурсов, таких как интерпретатор/загрузчик (java), компилятор (javac), архиватор (jar), генератор документации (Javadoc) и т. д. завершить разработку Java-приложения. Подробнее. Справочное видео Ваш браузер не поддерживает видео HTML5. |