2010-05-11 2 views
33

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

Спасибо!

+1

JVM карты для CLR в .NET Framework – RBT

+3

Возможный дубликат (HTTP [В чем разница между виртуальной машины Java, JDK, JRE и OpenJDK?]: // StackOverflow.com/questions/11547458/what-is-the-difference-between-jvm-jdk-jre-openjdk) – Nayuki

ответ

27

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

JRE - Java Runtime Environment

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

JRE является контейнером, JVM является содержание.

0

По Wikipedia:

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

3

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

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

+0

«JRE похожа на .NET Framework, а JVM похожа на .NET CLR» полезная цитата, необходимая для вытаскивания , –

1

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

61

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

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

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

вспомогательные файлы, представленные в JRE.

JRE = JVM + Java пакеты классов (как Util, математика, языки, AWT, качели и т.д.) + библиотеки времени выполнения.

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

JRE - это коробка и JVM - это содержимое коробки.

Простых слов JRE = JVM + rt.jar

где rt.jar содержит Ланг, Util, AWT, качели, математика и т.д. библиотеку или скомпилированные .class файлы, используемую для запустить нашу программу.

Узнайте больше о разнице между JVM и JRE - CLICK HERE

+3

Спасибо. Это намного лучше, чем принятый ответ. –

5

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

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

Чтобы увидеть конфигурацию виртуальной машины Java перейдите по ссылке: C: \ Program Files \ Java \ jre7 \ Lib \ i386 \ jvm.cfg
Этот файл содержит список виртуальных машин, которые могут быть использованы в качестве опции Java, Javac и т.д.

8

Прежде всего JDK содержит JRE + инструменты разработки, JRE содержит JVM + класс libraries.where JVM содержит (загрузчик классов & байт-код верификатор) и исполнительный механизм (переводчик & JIT) .the компилятор преобразует исходный код в промежуточные байтовые коды. где эти байтовые коды присваиваются JVM для исполнения. Погрузчик классов в JVM загружает байтовые коды и связывается с библиотеками классов, предоставляемыми JRE. код будет предоставлен механизму выполнения в JVM, который интерпретирует неповторяющийся код и компилирует повторяющийся код (например, циклы), наконец, преобразуется в машинный код (объектный код). Затем он выдаст машинный код микропроцессору для выполнения. Любые сомнения: [email protected]

+0

Любые сомнения: [email protected] является дополнительным –

+0

JDK = JRE + Dev Tools = (JVM + Class Libraries) + Dev Tools – mmcrae

1

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

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

0

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

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

1

В непрофессионале условий: -

JDK = JRE + Development/инструменты отладки, где JDK является нашим полным пакетом для работы с Java, начиная от создания компиляции до запуска it.On другой стороны 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. 
Смежные вопросы