Подтвердить что ты не робот

В чем разница между JRE и JVM?

Я думаю, что JVM похожа на .NET Framework, правильно? Тогда что такое JRE? В чем разница между JRE и JVM?

4b9b3361

Ответ 1

JRE - это среда, в которой работает виртуальная машина.

JRE - среда выполнения JAVA

JVM - виртуальная машина JAVA

JRE - это контейнер, JVM - это содержимое.

Ответ 2

Java Runtime Environment содержит JVM, библиотеки классов и другие поддерживающие файлы.

Он не содержит каких-либо средств разработки, таких как компилятор, отладчик и т.д.

Фактически JVM запускает программу, и она использует библиотеки классов и другие

поддерживающие файлы, предоставленные в JRE.

JRE = JVM + классы Java-пакетов (например, util, math, lang, awt, swing и т.д.) + библиотеки времени выполнения.

Если вы хотите запустить любую программу Java, вам необходимо установить JRE в систему.

JRE - это поле, а JVM - содержимое поля.

Простыми словами JRE = JVM + rt.jar

где rt.jar содержит библиотеки lang, util, awt, swing, math и т.д. или скомпилированные файлы .class, используемые для запустите нашу программу.

Подробнее о различии между JVM и JRE - НАЖМИТЕ ЗДЕСЬ

Ответ 3

Прежде всего, JDK содержит инструменты разработки JRE +, JRE содержит библиотеки классов JVM +, где JVM содержит (загрузчик классов и верификатор байт-кода) и механизм выполнения (интерпретатор и JIT).

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

Затем код будет передан механизму выполнения в JVM, который интерпретирует неповторяющийся код и компилирует повторяющийся код (например, циклы), окончательно преобразуя в машинный код (объектный код). Затем он передаст машинный код микропроцессору для исполнения.

Ответ 4

С точки зрения непрофессионала:

JDK = JRE + Инструменты разработки/отладки, где JDK - это наш полный пакет для работы с Java, от создания компиляции до ее запуска. С другой стороны, JRE просто выполняет код (байт-код).

Примечание: - Независимо от того, устанавливаем ли мы JDK или JRE, JVM будет поставляться в комплекте с обоими пакетами, а JVM - это та часть, где JIT-компилятор преобразует байт-код в машинный код.

JVM is Java Virtual Machine -- the JVM actually runs Java bytecode.
JDK is Java Developer Kit -- the JDK is what you need to compile Java source code.
JRE is Java Runtime Environment -- is what you need to run a Java program and contains a JVM, among other things.

Ответ 5

Простой ответ на этот вопрос: JRE - супер-набор JVM.

То есть, код, который скомпилирован с java-компилятором (javac), создает байтовый код (. файлы классов). jre, который является подмножеством jdk, содержит необходимые библиотеки вместе с jvm. jvm запускает байт-код и создает машинный код, который находится в машиночитаемой форме, с поддержкой библиотек, необходимых для этого кода.

Чтобы увидеть конфигурацию jvm, перейдите к: C:\Program Files\Java\jre7\lib\i386\jvm.cfg
Этот файл содержит список JVM, который может использоваться как опция для java, javac и т.д.

Ответ 6

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

Я считаю, что вы сказали бы, что JRE похожа на .NET Framework, а JVM похожа на .NET CLR. Вероятно, есть некоторые важные отличия, о которых я не знаю.

Ответ 7

JRE - это среда для выполнения любой Java-программы локально.

JVM - это то, где он отвечает за преобразование Bytecode в машинный код и делает java-программу write-once-run-anywhere.

Ответ 8

JVM - это процесс, который запускает код Java, а JRE - все файлы, распределенные для формирования "среды", в которой работает JVM.

Ответ 9

JVM - виртуальная машина Java представляет собой спецификацию среды выполнения для выполнения байтового кода. JRE - среда выполнения Java - это реализация jvm JDK - комплект разработки java, инструменты JRE + для разработки.

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

Ответ 10

JRE и JVM являются частью JDK. jdk = jre (содержит JVM) +Development инструменты.

JVM - это спецификация, а JVM Implementaion - Hotspot или другое, реализованное различными организациями.

Ответ 11

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

https://www.journaldev.com/546/difference-jdk-vs-jre-vs-jvm

Ответ 12

Согласно Wikipedia:

JVM, являющийся экземпляром "JRE" (Java Runtime Environment), вступает в действие при выполнении Java-программы. Когда выполнение завершено, этот экземпляр собрал мусор. JIT - это часть JVM, которая используется для ускорения времени выполнения. JIT компилирует части байтового кода, которые имеют сходную функциональность одновременно и, следовательно, уменьшают время, необходимое для компиляции.

Ответ 14

Виртуальная машина Java (JVM) - это абстрактная виртуальная машина (в основном, программа), которая находится на вашем компьютере и предоставляет среду выполнения для выполнения байт-кода Java (вы программируете код после компиляции).

JVM анализирует байт-код, интерпретирует его и выполняет тот же байт-код для отображения выходных данных.

Основная функция JVM состоит в том, чтобы выполнять скомпилированные файлы .class (т.е. байт-код) и генерировать вывод. Обратите внимание, что каждая операционная система имеет свою JVM, но сгенерированный вывод байт-кода одинаков во всех операционных системах. Это означает, что байт-код, сгенерированный в ОС Windows, также может работать в ОС Linux и наоборот, что делает Java независимым от платформы языком.

Итак, мы можем сказать, что JVM выполняет следующие операции:

  1. Загрузка необходимых файлов .class и jar
  2. Присвоение ссылок и проверка кода
  3. Выполнение кода
  4. Предоставляет среду выполнения для байт-кода Java

JRE (Java Runtime Environment) - это JVM в сочетании со средствами разработки, необходимыми для разработки JVM-совместимых программ.

enter image description here

Проверьте статью, чтобы узнать больше о JVM.