В чем разница между JDK 8u91 и 8u92?

24169
Elliott B

Сайт Oracle, кажется, рекомендует версию 8u91, когда вы нажимаете «Java для вашего компьютера». Но когда вы нажимаете «Java для разработчиков», он дает две опции: 8u91 и 8u92. Какая разница? Как правило, я бы предположил, что самый высокий номер версии лучше, но в этом случае я не уверен.

21

5 ответов на вопрос

22
Derek Bennett

The Oracle website is clear: use 8u91 (the 'CPU' release) under all circumstances except where you specifically require fixes present in the 'PSU' release (8u92, in this case). The difference between CPU and PSU releases is explained via a link on the release page.

For future reference, the exact quote from the Oracle release blog is:

JDK 8u91 and 8u92, two new Java 8 updates are now available. Oracle strongly recommends that most Java SE users upgrade to the latest Java 8u91 CPU release, which includes important security fixes. Java SE 8u92 is a patch-set update, including all of Java 8u91 plus additional features. You can download the latest JDK releases from Java SE Downloads page...

Я выдержал запись в блоге, потому что это, вероятно, устареет в среднесрочной и долгосрочной перспективе. Я оставил ссылку «разница между выпусками процессора и блока питания» на месте, потому что она, похоже, является частью CMS Oracle и, таким образом, в основном является постоянной ссылкой. Derek Bennett 7 лет назад 0
6
JasonXA

It's a matter of perspective. What Derek didn't quote was:

Java SE Patch Set Updates (PSU) (i.e. u92) contain all of fixes in the corresponding CPU (i.e. u91), as well as additional non-critical fixes. Java PSU releases should only be used if you are being impacted by one of the additional bugs fixed in that version.

For that you need to read the Release Notes and see if you need the additional fixes.

Это хорошая информация. Вы можете отредактировать и добавить ответ Дерека, чтобы сделать его более полным. Elliott B 7 лет назад 1
2
User008

JDK 8u91 и 8u92, теперь доступны два новых обновления Java 8. Java SE 8u92 - это обновление с набором исправлений, включающее все Java 8u91 плюс дополнительные функции. Пожалуйста, проверьте примечания к выпуску ниже для JDK 8u91 и 8u92

В примечаниях к выпуску похоже, что 8u92 имеет больше исправлений ошибок, так почему 8u91 все еще доступен (и даже рекламируется как основная версия). Elliott B 7 лет назад 5
0
rychu

То, что я думаю, также должно быть процитировано:

Последующая версия процессора будет содержать все исправления из текущего блока питания.

т.е. 8u101 должен содержать все изменения и исправления, которые были в 8u92, но не в 8u91. Однако, когда я смотрю на заметки о выпуске 8u92 и 8u101, в 8u92 появляются некоторые новые опции jvm (ExitOnOutOfMemoryError и CrashOnOutOfMemoryError), но они не находятся в 8u101 ...

Цитируемый вами фрагмент говорит, что «будет содержать все исправления», но затем вы продолжаете говорить «[это означает, что он] должен содержать все * изменения и * исправления». Это ничего не говорит обо всех изменениях, только все исправления. Sarah G 7 лет назад 0
0
ruffin

Быстрый ответ заключается в том, что «Critical Patch Update» (или CPU, первый в этих парах) - это ежеквартальное обновление, а «Patch Set Update» (или PSU) - это ситуативное обновление, которое пытается исправить проблемы, обнаруженные в его CPU Предшественник, выпущенный до следующего процессора, официально помечен как золотой.

Вот пост, который описывает, в чем дело:
CPU, PSU, SPU - Oracle Critical Patch Update Обновление терминологии .

Critical Patch Update (CPU) теперь относится к общему выпуску исправлений безопасности каждый квартал, а не к накопительному обновлению базы данных за квартал. Думайте о ЦП как о всеобъемлющем ежеквартальном выпуске, а не как об одном патче.


Вы должны быть смущены

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

Например, в примечаниях к выпуску для 8u111 и 8u112 я мог найти любую причину не использовать самый последний PSU, в настоящее время 8u112. Но и сами заметки о выпуске не дали мне веской причины, по которой я бы использовал БП!

Был раздел «Изменения» для 112, который включал «security-libs / java.security - поставщик SunPKCS11, больше не предлагающий SecureRandom по умолчанию», но не упоминал о других серьезных проблемах.

Но если Google вокруг вокруг достаточно, вы действительно найти серьезные проблемы, как ...

JVM генерирует исключения NullPointerException в macOS Sierra 10.12

В macOS Sierra 10.12, если пользователь нажимает клавиши-модификаторы (такие как Command, Alt, Shift) во время работы апплета в браузере, может отображаться окно с сообщением об ошибке «Внутренняя ошибка». Он также покажет значок «exec» в доке macOS. Пользователь может закрыть апплет или попытаться перезапустить апплет, не нажимая клавишу-модификатор. Чтобы устранить эту проблему, установите JRE 8u112 для Mac OS X. [курсив мой]

Технически, я имею в виду, что эта проблема находится на странице с ошибкой, которая сама по себе представляет собой ссылку или две, удаленные из примечаний к выпуску, вплоть до # 42, JVM [macos] постоянно генерирует исключение NullPointerException на новой MacOS 10.12, но обнаруживает, что это не так. удобный. Потребуется определенная работа, чтобы понять, насколько важно для вас использовать блок питания.

TL; DR

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

Но так как они могут сказать всем, кто использует macOS Sierra, например, для использования блока питания, блок питания, вероятно, достаточно хорош для разработки и неплохо работает, ожидая следующего процессора. Вы не обязательно развернете его на производственном сервере, если одно из исправлений блока питания не будет для вас критически важным, но вы, вероятно, могли бы это сделать, в зависимости от того, насколько комфортной была ваша организация с крайними выпусками.

Но Oracle должен сказать все это где-то немного яснее, или мы застряли с этим вопросом.

Похожие вопросы