2012-02-23 5 views
6

Я вижу два jre в java-папке один в jdk и один внешний jdk. Можете ли вы рассказать мне, в чем причина того, что эти два парня?В чем причина размещения двух jre, один в jdk и один outsite jdk в папке java в файлах программы

+1

http: // stackoverflow.com/questions/2541319/jre-included-with-jdk-vs-standalone-jre – Jayan

ответ

2

Если вы просто запускаете приложение, вам нужна только среда выполнения Java (JRE), поэтому имеет смысл доставить это как отдельный объект.

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

Итак, два сценария использования, два способа получить JRE.

См. Вопрос, на который ссылается Jaya для получения дополнительной информации.

+3

Я знаю их разницу, но когда вы устанавливаете JDK, он устанавливает 2 JRE, один внутри JDK и один автономный, почему? –

4

я не прочитал ваш правильный ответ и искал немного, вот ответ от кого-то, кто, кажется, сотрудники Oracle:

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

из https://forums.oracle.com/forums/thread.jspa?threadID=2277801


Старый Ответ 32/64 бит для Windows

Если вы на Windows 7 64 Bit (или, возможно, другие MS 64-разрядных системах), вам необходимо 2 JRE х. Один для ваших 64-битных приложений (Браузер) и один для 32 бит. Они должны иметь разные имена папок, то есть: 64 бит C: \ Program Files \ Java \ jre7 32 Bit C: \ Program Files (x86) \ Java \ jre7

+0

Можете ли вы объяснить мне, какое автоматическое обновление и какие предложения продукта? –

+0

Я не сотрудник Oracle, поэтому я действительно не знаю, правильна ли эта информация. Но я думаю, что autoupdate - это то, что автоматическое обновление JRE и предложений продуктов - это реклама? – wintersolutions

+0

Разница в том, что публичная JRE (C: \ Program Files \ Java \ jre7) поддерживает автоматическое обновление, JRE в JDK (C: \ Program Files \ Java \ jdk1.7.0_65 \ jre) не может быть важно для непереключительной версии при разработке Java. – 98percentmonkey

1

Если вы разрабатываете программу Java, то во время компиляции private jre (C: \ Program Files \ Java \ jdk1.7.0_65 \ jre) будет использоваться, и будет использоваться время работы public jre (C: \ Program Files \ Java \ jre7). Это сценарий использования по умолчанию. Если время компиляции jvm обнаруживает, что private jre нет, тогда он пойдет на public jre и запустит время, если jvm найдет, что если public jre нет, тогда он пойдет для private jre.

0

JDK требуется для разработки Java-приложений, но включает JRE (Java Runtime Environment), которая требуется для запуска приложений Java.

Если вы продвинутый пользователь и знаете, что делаете, вам нужна только одна копия JRE, что означает, что вам не нужна «Public JRE» в дополнение к той, которая поставляется с JDK ,

Просто установите переменные окружения JAVA_HOME, чтобы указать на каталог установки JDK, а также добавить bin директорию JRE, в то %JAVA_HOME%\jre\bin, к вашим PATH.

Если вы хотите, чтобы Java уведомляла/напоминала/раздражала вас об обновлениях и располагала дополнительным 200 МБ дискового пространства, которое вам не нужно, тогда также установите общедоступную JRE.