Я думаю, что JVM похожа на .NET Framework, правильно? Тогда что такое JRE? В чем разница между JRE и JVM?
В чем разница между JRE и JVM?
Ответ 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-программы.
Ответ 12
Согласно Wikipedia:
JVM, являющийся экземпляром "JRE" (Java Runtime Environment), вступает в действие при выполнении Java-программы. Когда выполнение завершено, этот экземпляр собрал мусор. JIT - это часть JVM, которая используется для ускорения времени выполнения. JIT компилирует части байтового кода, которые имеют сходную функциональность одновременно и, следовательно, уменьшают время, необходимое для компиляции.
Ответ 13
Я опубликовал статью, объясняющую различия между JDK, JRE и JVM. Пожалуйста, прочитайте: - https://candicedick.wordpress.com/2019/04/12/what-about-jdk-jre-and-jvm/
Надеюсь, это ответит на ваш вопрос.
Ответ 14
Виртуальная машина Java (JVM) - это абстрактная виртуальная машина (в основном, программа), которая находится на вашем компьютере и предоставляет среду выполнения для выполнения байт-кода Java (вы программируете код после компиляции).
JVM анализирует байт-код, интерпретирует его и выполняет тот же байт-код для отображения выходных данных.
Основная функция JVM состоит в том, чтобы выполнять скомпилированные файлы .class (т.е. байт-код) и генерировать вывод. Обратите внимание, что каждая операционная система имеет свою JVM, но сгенерированный вывод байт-кода одинаков во всех операционных системах. Это означает, что байт-код, сгенерированный в ОС Windows, также может работать в ОС Linux и наоборот, что делает Java независимым от платформы языком.
Итак, мы можем сказать, что JVM выполняет следующие операции:
- Загрузка необходимых файлов .class и jar
- Присвоение ссылок и проверка кода
- Выполнение кода
- Предоставляет среду выполнения для байт-кода Java
JRE (Java Runtime Environment) - это JVM в сочетании со средствами разработки, необходимыми для разработки JVM-совместимых программ.
Проверьте статью, чтобы узнать больше о JVM.