Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java 8 update 151 or 152? [duplicate]

Tags:

java

java-8

There are two Java 8 downloads on the Oracle page.

The release notes of 152 note two things over 151:

  • BigInteger performance improvements
  • Compilers accept modification of final fields outside initializer methods

The latter seems more like a comment along the lines "this is a bug but not fixed in 8; it will be fixed in Java 9". So this also applies to version 151 even though it's not mentioned.

I'm unsure about the former. Why isn't this in 151? I find this very frustrating. Two versions without a clear indication which one is "better" or the "preferred" version for most developers.

Hence my question: Is it better to use 152 in production or 151? Are there any indicators which I could or should be using to decide?

like image 790
Aaron Digulla Avatar asked Oct 25 '17 08:10

Aaron Digulla


People also ask

What is the latest version of JDK 8?

The full version string for this update release is 8u331-b09 (where "b" means "build"). The version number is 8u331.

Does Java 8 still get updates?

Java 8 LTS last free software public update for commercial use was released by Oracle in March 2022, while Oracle continues to release no-cost public Java 8 updates for development and personal use indefinitely. Java 7 is no longer publicly supported.

Is Java 8 and 1.8 the same?

In short – 8 is product version number and 1.8 is the developer version number (or internal version number). The product is the same, JDK 8, anyways.


Video Answer


1 Answers

The general idea is that

  • 8u151 (tag jdk8u151-b12) is a Critical Patch Update (CPU) Release
  • 8u152 (tag jdk8u152-b16) is a Patch Set Update (PSU) Release

From official Oracle CPU and PSU Releases Explained

Starting with the release of Java SE 7 Update 71 (Java SE 7u71) in October 2014, Oracle will release a Critical Patch Update (CPU) at the same time as a corresponding Patch Set Update (PSU) for Java SE 7.

Which Java version should I choose: the CPU or the PSU? Oracle strongly recommends that all Java SE users upgrade to the latest CPU release available for a release family. Most users should choose the CPU release.

Users should only use the corresponding PSU release if they are being impacted by one of the additional bugs fixed in that version as noted in the release notes.

The subsequent CPU release will contain all of the fixes from the current PSU. For this reason, organizations should test the current PSU in their environment in anticipation of these fixes being included in the next CPU.

What is the difference between a Java CPU and PSU release? Java SE Critical Patch Updates (CPU) contain fixes to security vulnerabilities and critical bug fixes. Oracle strongly recommends that all Java SE users upgrade to the latest CPU releases as they are made available. Java SE CPU releases are odd numbered versions (i.e. 7u71, 7u65 – see more on Java SE version numbering schemes here).

Java SE Patch Set Updates (PSU) contain all of fixes in the corresponding CPU, 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. The release notes call out the additional fixes available in Java SE PSU releases.

PSU releases provide organizations and developers with access to non-critical fixes in addition to the critical fixes contained in the corresponding CPU.

Also read What's the difference between odd and even Java updates?


To find full list of public bug fixes you need to open Bug Fixes page at the bottom of the release notes.

  • 8u152-relnotes or Wiki: Security fixes, 1 new feature, 1 change and 238 bug fixes from 8u151.
  • 8u151-relnotes or Wiki: Security fixes, 2 notes, 1 certificate revocation, 1 new feature, 6 changes and 24 bug fixes from 8u144.

So there are 238 bug fixes in the PSU (8u152) (not only BigInteger performance improvements). And there is high probability that you are going to get most of them anyway in the next CPU release. So it is recommended to update as fast as you can to the 8u151 and test/adjust you code for comparability with 8u152. You can update to 8u152 if you actually need some bugfix there.

like image 77
varren Avatar answered Sep 19 '22 17:09

varren