Я вижу два jre в java-папке один в jdk и один внешний jdk. Можете ли вы рассказать мне, в чем причина того, что эти два парня?В чем причина размещения двух jre, один в jdk и один outsite jdk в папке java в файлах программы
ответ
Если вы просто запускаете приложение, вам нужна только среда выполнения Java (JRE), поэтому имеет смысл доставить это как отдельный объект.
Если вы разрабатываете, вам нужен комплект Java Development Kit, и вам будет полезно иметь все необходимое, включая JRE.
Итак, два сценария использования, два способа получить JRE.
См. Вопрос, на который ссылается Jaya для получения дополнительной информации.
Я знаю их разницу, но когда вы устанавливаете JDK, он устанавливает 2 JRE, один внутри JDK и один автономный, почему? –
я не прочитал ваш правильный ответ и искал немного, вот ответ от кого-то, кто, кажется, сотрудники 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
Можете ли вы объяснить мне, какое автоматическое обновление и какие предложения продукта? –
Я не сотрудник Oracle, поэтому я действительно не знаю, правильна ли эта информация. Но я думаю, что autoupdate - это то, что автоматическое обновление JRE и предложений продуктов - это реклама? – wintersolutions
Разница в том, что публичная JRE (C: \ Program Files \ Java \ jre7) поддерживает автоматическое обновление, JRE в JDK (C: \ Program Files \ Java \ jdk1.7.0_65 \ jre) не может быть важно для непереключительной версии при разработке Java. – 98percentmonkey
Если вы разрабатываете программу 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.
JDK требуется для разработки Java-приложений, но включает JRE (Java Runtime Environment), которая требуется для запуска приложений Java.
Если вы продвинутый пользователь и знаете, что делаете, вам нужна только одна копия JRE, что означает, что вам не нужна «Public JRE» в дополнение к той, которая поставляется с JDK ,
Просто установите переменные окружения JAVA_HOME
, чтобы указать на каталог установки JDK, а также добавить bin
директорию JRE, в то %JAVA_HOME%\jre\bin
, к вашим PATH
.
Если вы хотите, чтобы Java уведомляла/напоминала/раздражала вас об обновлениях и располагала дополнительным 200 МБ дискового пространства, которое вам не нужно, тогда также установите общедоступную JRE.
http: // stackoverflow.com/questions/2541319/jre-included-with-jdk-vs-standalone-jre – Jayan