В чем разница между четными и нечетными обновлениями Java?

132

У меня установлен JDK 8u60. Сегодня я проверил веб-сайт Oracle, и они выпустили две версии одновременно: 8u65 и 8u66 . Обе версии являются общедоступными.

  • Почему они выпустили две версии одновременно?
  • Какие условия / причины заставили бы одного выбрать одно другому?
MorrisIriga
источник
3
С веб-сайта Oracle: «Java SE 8u65 / 8u66 Java SE 8u65 включает важные исправления безопасности. Oracle настоятельно рекомендует всем пользователям Java SE 8 выполнить обновление до этого выпуска. Java SE 8u66 - это обновление с набором исправлений, включающее все 8u65 плюс дополнительные функции ( описано в примечаниях к выпуску) ". http://www.oracle.com/technetwork/java/javase/downloads/index.html . Вы проверяли ReleaseNotes?
mnille
5
@mnille Да, я проверил записи. Когда говорят, что 8u66 - это обновление с набором исправлений, означает ли это, что это «лучшая» версия? Если да, то зачем выпускать 8u65?
MorrisIriga
Хорошо, извините, теперь я понял ваш вопрос. Я бы выбрал SE 8u66, потому что 8u66 исправляет 15 (+3 из 8u65) ошибок, а 8u65 - всего 3 ошибки. По крайней мере, если список исправленных ошибок полон ... Должен признать, что это немного сбивает с толку ...
mnille
3
Я добавил ссылки на обе версии. Эти записи не объясняют этой тайны.
Basil Bourque
13
Я думаю, что это вопрос, связанный с программированием, потому что JDK предназначен для программистов, и только для программистов. Непрограммистов не будет беспокоить JDK, их будет беспокоить JRE.
Christian Hujer 07

Ответы:

96

Со страницы загрузки ( выделено мной):

Java SE 8u65 включает важные исправления безопасности. Oracle настоятельно рекомендует всем пользователям Java SE 8 выполнить обновление до этого выпуска. Java SE 8u66 - это обновление с набором исправлений, включающее все 8u65 плюс дополнительные функции (описанные в примечаниях к выпуску).

Oracle часто так поступает . Все дело в том, как вы, как клиент, хотите справляться с рисками.

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

8u65 содержит исправления безопасности и устанавливает новую «базовую планку» безопасности для компаний при создании приложений Java 8 . 8u66 имеет те же обновления безопасности, а также дополнительные исправления ошибок . Однако даже исправления ошибок могут иногда вызывать изменения в поведении, которые создают проблемы совместимости для пользователей. Таким образом, изменения в 8u66 не являются обязательными (обратите внимание, что базовый уровень, указанный выше, по-прежнему равен 1.8.0_65, и компании, которые хотят большей стабильности в своей платформе, вполне могут предпочесть применять только необходимые исправления безопасности.

Oracle, конечно, не обязана разделять свои обновления таким образом, но я уверен, что некоторые из их наиболее не склонных к риску клиентов рады такой возможности.

Зак Томпсон
источник
Можете ли вы процитировать официальную документацию для этого ответа?
Бэзил Бурк,
добавил несколько ссылок и дополнительный текст
Зак Томпсон
1
Вы должны использовать Java SE 8u65, используйте Java SE 8u66 только в том случае, если вам нужно много исправлений.
frekele
@frekele Ваш комментарий все еще сбивает меня с толку. Почему, приходя за новой установкой, чтобы начать новый проект, я не получу 8u66, чтобы не отладить известную проблему?
GreenAsJade
2
Не могли бы вы уточнить вторую часть вопроса: «По каким причинам вы выбрали ту или иную версию». Читая ваш ответ, я понимаю, что вы, возможно, не захотите выбирать 8u66, если у вас есть существующий проект, который может претерпеть изменения. Но почему бы вам не выбрать 8u66 для нового?
GreenAsJade
30

Это официальный ответ Oracle :

Объяснение выпусков ЦП и блоков питания Java

Начиная с выпуска Java SE 7 Update 71 (Java SE 7u71) в октябре 2014 года, Oracle будет выпускать критическое обновление исправлений (ЦП) одновременно с соответствующим обновлением набора исправлений (PSU) для Java SE 7.


Какую версию Java выбрать: процессор или блок питания?

Oracle настоятельно рекомендует всем пользователям Java SE обновить ЦП до последней версии, доступной для семейства выпусков. Большинству пользователей следует выбирать версию ЦП.

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

Последующий выпуск ЦП будет содержать все исправления из текущего блока питания. По этой причине организациям следует протестировать текущий блок питания в своей среде, ожидая, что эти исправления будут включены в следующий ЦП.

В чем разница между Java CPU и PSU?

Обновления Java SE Critical Patch Updates (CPU) содержат исправления уязвимостей системы безопасности и исправления критических ошибок. Oracle настоятельно рекомендует всем пользователям Java SE обновлять ЦП до последних выпусков по мере их появления. Выпуски ЦП Java SE имеют нечетные номера версий (например, 7u71, 7u65 - подробнее о схемах нумерации версий Java SE см. Здесь).

Обновления набора исправлений Java SE (PSU) содержат все исправления для соответствующего ЦП, а также дополнительные некритические исправления. Выпуски Java PSU следует использовать только в том случае, если на вас воздействует одна из дополнительных ошибок, исправленных в этой версии. В примечаниях к выпуску упоминаются дополнительные исправления, доступные в выпусках Java SE PSU.

Меняется ли частота выпусков ЦП?

Как и прежде, выпуски ЦП Java SE запланированы на вторник, ближайший к 17-му дню января, апреля, июля и октября, в соответствии с обычным графиком обновления критических исправлений Oracle.

Начиная с октября 2014 года с выпуском Java SE 7u71 (CPU) и Java SE 7u72 (PSU), Oracle планирует дополнительно выпустить соответствующий выпуск PSU вместе с каждым выпуском CPU для Java SE 7. Выпуски PSU предоставляют организациям и разработчикам доступ к некритические исправления в дополнение к критическим исправлениям, содержащимся в соответствующем процессоре.


Используйте u73, если вы не знаете, что вам нужно исправить ошибку, которая есть в u74.

Гай Гаскойн-Пиггфорд
источник
0

Если у вас есть существующий проект, используйте 8u65. Если вы начинаете с нуля, используйте 8u66. Я устанавливаю NetBeans 8.1, поэтому использую 8u66 на случай, если в коде NB8.1 есть какие-либо из 15 ошибок в 8u65, которые не решены в 8u66.

MindTaffy
источник
0

Я нашел эту информацию на Haven и Hearth:

u73 (-b02) - это общедоступный выпуск
u74 (-b02) - общедоступный пакетный выпуск исправлений (содержит дополнительные исправления, не связанные с безопасностью)

Я думаю, вам нужно будет скачать только 74.

Некрономикон
источник
BPR - это разные коммерческие сборки, даже Updates - это PSU. 1.8.0 u74b02 является публичным, а u74b3x - BPR.
eckes