JRE включен с JDK против автономной JRE - PullRequest
28 голосов
/ 30 марта 2010

В чем разница между JRE, включенным в JDK (находится внутри папки jre) и автономной JRE? Есть ли?

Ответы [ 5 ]

25 голосов
/ 30 марта 2010

«Автономный JRE» (иногда также называемый «Public JRE») обычно не содержит серверную версию HotSpot. В ней также отсутствуют инструменты, включенные в JDK (JavaDB, javac, tools.jar и т. Д.).

В остальном время выполнения идентично. Также обратите внимание, что JDK может установить одну (или более) JRE.

Наконец, все вышеперечисленные замечания касаются установщиков Sun для Windows. Другие поставщики и платформы могут (а иногда и отличаются).

16 голосов
/ 30 марта 2010

Нет никакой разницы (если у вас нет другой версии JRE). Вот официальное определение от SUN / Oracle:

http://java.sun.com/javase/6/docs/technotes/guides/index.html

JRE и JDK Sun Microsystems обеспечивают два основных программных продукта в Платформа JavaTM, стандартная версия (JavaTM SE) семейство:

Java SE Runtime Environment (JRE)

JRE предоставляет библиотеки, Java виртуальная машина и другие компоненты необходимо запустить апплеты и приложения, написанные на Java язык программирования. Это время выполнения среда может быть перераспределена с приложения, чтобы сделать их свободно стоящий.

Java SE Development Kit (JDK)

JDK включает в себя JRE plus инструменты разработки командной строки, такие как компиляторы и отладчики, которые необходимо или полезно для разработки апплеты и приложения.

2 голосов
/ 05 сентября 2013

Если вы выполняете двоичное сравнение с автономной JRE и JRE, включенными в JDK, они бинарные отличаются (по крайней мере, в версии Windows).

Количество классов в rt.jar равно, но из любопытства я запустил 'javap' для всех классов в обоих и сравнил результаты.

Единственное отличие, которое я вижу, состоит в том, что в версии JDK есть строки типа 'Compiled from "Serializable.java' перед кодом класса.

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

1 голос
/ 20 октября 2014

Разница законная. JDK для разработки, JRE для исполнения. Вы можете включить JRE с продуктом

0 голосов
/ 30 марта 2010

"JDK" - это комплект разработки Java. JDK - это пакет программного обеспечения, который вы можете использовать для разработки программного обеспечения на основе Java. «JRE» - это среда выполнения Java. JRE является реализацией виртуальной машины Java, которая фактически выполняет программы Java.

Как правило, каждый JDK содержит один (или более) JRE вместе с различными инструментами разработки, такими как компиляторы исходного кода Java, инструменты связывания и развертывания, отладчики, библиотеки разработки и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...