В чем разница между JRE, включенной в JDK (находящаяся внутри папки jre) и автономной JRE? Есть ли?
JRE включается в JDK и отдельную JRE
Ответ 1
"Отдельная JRE" (иногда также называемая "Public JRE" ), как правило, не содержит серверной версии HotSpot. В нем также отсутствуют инструменты, включенные в JDK (JavaDB, javac, tools.jar и т.д.).
В противном случае время выполнения идентично. Также обратите внимание, что JDK может установить один (или более) JRE.
Наконец, все вышеприведенные примечания относятся к установщикам Sun Java для Windows. Другие поставщики и платформы могут (и иногда) меняться.
Ответ 2
Нет никакой разницы (если у вас нет другой версии 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 средства разработки командной строки, такие как компиляторы и отладчики, которые необходимых или полезных для разработки апплеты и приложения.
Ответ 3
Если вы запускаете двоичное сравнение с автономной JRE и JRE, включенными в JDK, они двоичные, разные (по крайней мере, в версии Windows).
Класс count в rt.jar равен, но из любопытства я запускал "javap" для всех классов в обоих и сравнивал результаты.
Единственное различие, которое я вижу, это то, что в JDK verison есть строки, такие как "Скомпилировано из" Serializable.java "перед кодом класса.
Я не думаю, что это должно иметь какое-то влияние на конечного пользователя, поэтому эти JRE должны вести себя одинаково.
Ответ 4
Разница легальна. JDK предназначен для разработки, JRE для исполнения. Вы можете включить JRE с продуктом
Ответ 5
"JDK" - это Java Development Kit. JDK - это набор программного обеспечения, которое можно использовать для разработки программного обеспечения на базе Java. "JRE" - это среда выполнения Java. JRE представляет собой реализацию виртуальной машины Java, которая фактически выполняет Java-программы.
Как правило, каждый JDK содержит одну (или более) JRE вместе с различными инструментами разработки, такими как исходные компиляторы Java, инструменты для комплектации и развертывания, отладчики, библиотеки разработки и т.д.