Java SE 6 против JRE 1.6 против JDK 1.6 - Что это значит? - PullRequest
160 голосов
/ 30 октября 2008

Я вижу много разных Java-терминов. Мне нужно установить JDK 1.6. Насколько я понимаю, Java 6 == Java 1.6. Однако, когда я устанавливаю Java SE 6, я получаю JVM, которая сообщает как версия 11.0! Кто может решить безумие?

Ответы [ 6 ]

157 голосов
/ 30 октября 2008
  • JDK - Java Development Kit
  • JRE - среда выполнения Java
  • Java SE - Java Standard Edition

SE определяет набор возможностей и функциональных возможностей; Существуют более сложные выпуски (Enterprise Edition - EE) и более простые (Micro Edition - ME - для мобильных сред).

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

Отредактировано : Как отметил Крис Марасти-Георг в комментарии, вы можете найти много информации на веб-сайте Sun Java и, в частности, в разделе Java SE (2-й вариант, Java SE Development Kit (JDK) 6 Обновление 10).


Отредактировано 2011-04-06: Мир поворачивается, и Java теперь управляется Oracle, которая купила Sun. Позже в этом году домен sun.com должен стать темным. Новая страница (на основе перенаправления) - это Java страница в Oracle Tech Network. (См. Также java.com .)


Отредактировано 2013-01-11: И мир продолжает вращаться (несмотря на 2012-12-21), и вот, JRE 6 вот-вот достигнет своего конца поддержки. Oracle сообщает, что больше никаких публичных обновлений Java 6 после февраля 2013 года.

В данной версии Java этот ответ остается в силе. JDK - это Java Development Kit, JRE - среда выполнения Java, Java SE - стандартная версия и так далее. Но версия 6 (1.6) устарела.

Отредактировано 2015-04-29: И с очередной парой оборотов вокруг Солнца пришло время и для прекращения поддержки Java SE 7. В апреле 2015 года Oracle подтвердила , что больше не предоставляет общедоступные обновления для Java SE 7. Предварительное завершение общедоступных обновлений для Java SE 8 - март 2017 года, но эта дата окончания может быть изменена (позже не ранее).

98 голосов
/ 30 августа 2011

Это может кому-то помочь:

Я устанавливаю последнюю версию Java в моей системе для разработки, и в настоящее время это Java SE 7. Теперь давайте погрузимся в это "безумие", как вы выразились ...

Все они одинаковы (когда разработчики говорят о Java для разработки):

  • Java SE 7
  • Java SE v1.7.0
  • Java SE Development Kit 7

Начиная с Java v1.5:

  • v5 = v1.5.
  • v6 = v1.6.
  • v7 = v1.7.

И мы можем предположить, что это останется для будущих версий.

Далее для разработчиков загрузите JDK, а не JRE.

JDK будет содержать JRE. Если вам нужны JDK и JRE, получите JDK. Оба будут установлены из одной установки JDK, как вы увидите ниже.

Как кто-то упомянул выше:

  • JDK = Java Development Kit (это нужно разработчикам, это вы, если кодируете на Java)
  • JRE = Java Runtime Environment (это нужно пользователям, сегодня это каждый компьютер)
  • Java SE = стандартная версия Java

Вот пошаговые ссылки, по которым я следовал (один шаг ведет к следующему, это все для одной загрузки), чтобы загрузить Java для разработки (JDK):

  1. Посетите раздел «Загрузки Java SE»: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Нажмите «Загрузить JDK» и перейдите на страницу «Загрузки Java SE Development Kit 7»: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (обратите внимание, что переход по ссылке из шага # 1 приведет вас к другой ссылке, так как обновления JDK 1.7, более поздние версии, сейчас нет)
  3. Принять соглашение:)
  4. Нажмите «Java SE Development Kit 7 (Windows x64)»: http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (для моей 64-разрядной системы Windows 7)
  5. Вы сейчас загружаете (надеюсь последний) JDK для своей системы! :)

Помните, что приведенные выше ссылки приведены только для справочных целей, чтобы показать вам пошаговый метод загрузки JDK.

И установить с настройками по умолчанию:

  • «C: \ Program Files \ Java \ jdk1.7.0 \» (JDK)
  • «C: \ Program Files \ Java \ jre7 \» (JRE) <--- почему он запросил новую папку установки? это JRE! </li>

Помните сверху, что JDK содержит JRE, что имеет смысл, если вы знаете, что они оба. Опять же, см. Выше.

После установки дважды проверьте «C: \ Program Files \ Java», чтобы увидеть обе эти папки. Теперь вы знаете, кто они и почему они там.

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

53 голосов
/ 30 октября 2008

Когда вы набираете «java -version», вы видите три номера версии - версию java (по моему, это «1.6.0_07»), версию среды выполнения Java SE («build 1.6.0_07-b06») и Версия HotSpot (по моему, это "build 10.0-b23, mixed mode"). Я подозреваю, что" 11.0 "- это версия HotSpot.

Обновление: HotSpot является (или раньше использовался, теперь они, похоже, используют его для обозначения целой виртуальной машины) компилятором, работающим точно по времени, который встроен в виртуальную машину Java. Бог знает только, почему Солнце дает ему отдельный номер версии.

17 голосов
/ 04 мая 2014

Краткая и, возможно, неправильная история версий Java

  • Java - это платформа. Он состоит из двух продуктов - комплекта разработки программного обеспечения и среды выполнения.

  • Когда Java был впервые выпущен, он, по-видимому, просто назывался Java . Если вы были разработчиком, вы также знали версию, которая была обычной "1.0" и позже "1.1". Два продукта, которые были частью платформы, также получили названия:

    • JDK - "Java Development Kit"
    • JRE - "Java Runtime Environment"
  • Видимо, изменения в версии 1.2 настолько значительны, что они стали называть платформу Java 2 .

    • Стандартному «распределению» платформы было присвоено прозвище «стандарт», чтобы противопоставить его своим братьям и сестрам. Итак, у вас было три платформы:

      • «Java 2 Standard Edition (J2SE)»
      • "Java 2 Enterprise Edition (J2EE)"
      • «Java 2 Mobile Edition (J2ME)»
    • JDK был официально переименован в «Java 2 Software Development Kit».

  • Когда вышла версия 1.5, костюмы решили, что им нужно «ребрендинг» продукта. Таким образом, платформа Java получила две версии - версию продукта «5» и версию разработчика «1.5» (да, правило явно упоминается - «отбросьте« 1 »). Однако« 2 »было сохранено в Таким образом, теперь платформа официально называется «Java 2 Platform Standard Edition 5.0 (J2SE 5.0)» .

    • Судебные иски также поняли, что сообщество разработчиков не собиралось переименовывать JDK. Но вместо того, чтобы отменить свое изменение, они просто решили убрать «2» из названия отдельных продуктов, которое теперь называется «J2SE Development Kit 5.0 (JDK 5.0)» и «J2SE Среда выполнения 5.0 (JRE 5.0) ".
  • Когда вышла версия 1.6, кто-то понял, что иметь два числа в имени было странно. Поэтому они решили полностью удалить 2 (и суффикс ".0"), и в итоге мы получили "Java Platform, Standard Edition 6 (Java SE 6)" , содержащий "Java SE Development Kit 6 (JDK 6) " и " Java SE Runtime Environment 6 (JRE 6) ".

  • Версия 1.7 не сделала ничего глупого. Если бы мне пришлось угадывать, следующим большим изменением было бы удаление "SE", так что цикл завершился, и JDK снова стал называться "Java Development Kit".

Примечания

  • Для простоты несколько знаков товарных знаков были опущены. Итак, предположим, Java ™, JDK ™ и JRE ™.

  • Кажется, у SO проблемы с отображением вложенных списков.

Ссылки

Эпилог

Просто бросьте "1" из версий, напечатанных javac -version и java -version, и все готово.

4 голосов
/ 30 октября 2008

С выходом Java 5 версия продукта стала отличаться от версии для разработчика, как описано здесь

3 голосов
/ 05 июля 2013

Java SE Runtime предназначен для конечного пользователя, поэтому вам нужна версия Java JRE, первой версией Java была 1, затем 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 и т. Д., И обычно каждая версия названа по версии, поэтому JRE 6 означает Java jre 1.6, в любом случае есть версия обновления, например 1.6 update 45, которая называется java jre 6u45.

Из того, что я знаю, они предпочли использовать число 6 вместо 1.6, чтобы лучше отражать уровень зрелости, стабильности, масштабируемости, безопасности и многого другого

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