The latest version of the Java Development Kit, Java 11, is out. Ever since JDK Beta made its debut back in 1995, there has been continuous development of the platform for this high-level, general-purpose programming language.
The release of Java 11 followed Java 10 only by 6 months. This is in line with the proposal made by Mark Reinhold, Chief Architect of the Java platform, back in 2017. He proposed to replace the two-year schedule with a twice-a-year release cycle.
At the moment, Java 8 and Java 11 are the LTS (long-term support) versions. The end of public updates for Java 8 is scheduled for January of 2019 for commercial use. For non-commercial use, the same is scheduled at an unspecified date in December of 2020.
What’s interesting with Java 11, aside from all the added, removed, and deprecated features, is that it won’t be supported by Oracle. In its place, the OpenJDK community will provide long-term support, most probably in the form of AdoptOpenJDK.
With the release of Java 11, support for Java 10 ended. This is because it was a rapid release version, like Java 9, which contained support that has also been removed.
Though JDK versions prior to Java 8 are still supported by organizations on a commercial basis, it is highly recommended to uninstall pre-Java 8, especially from Windows computers. Before answering the question: “when will Java 11 replace Java 8 as the default version of Java?,” let us first get to know Java 11 better.
Each release of Java introduces a number of new features. However, this time, it’s bigger and better. Java 11 adds a multitude of new features to the existing feature list. Here are some of the most important ones:
toArray (IntFunction)
to the java.util.Collection interfacejceks.key.serialFilter
, a security propertyNot only has the latest iteration of the Java Development Kit introduced a plethora of features, but it also has axed some of its older features. Most of them have been deprecated in previous Java releases. Features and options that are no longer available in JDK 11 include:
appletviewer
tool. It was depreciated in JDK 9com.sun.awt.AWTUtilities
class, which received depreciation in JDK 10sun.misc.Unsafe.defineClass
class. Its replacement is java.lang.invoke.MethodHandles.Lookup.defineClass
sun.nio.ch.disableSystemWideOverlappingFileLockCheck
and sun.locale.formatasdefault
propertiesThread.destroy()
and Thread.stop(Throwable)
methodsWith the release of every major version of the Java platform, there are some depreciations alongside inclusions and exclusions. JDK 11 deprecates:
-XX:+UnlockCommericalFeatures
and -XX:+LogCommercialFeatures
VM.check_commercial_features
and VM.unlock_commercial_features
acceptSecContext
, getMIC
, initSecContext
, unwrap
, verifyMIC
, and wrap
ThreadPoolExecutor
, the finalize method that shut down the thread pool does nothingCheck this for in-depth details about additions, removals, and deprecations made in the JDK 11.
The simplest answer is: not anytime soon! We already discussed that some organizations, and individuals as well, still rely on pre-Java 8 versions for continuing their operations. This will be true for Java 8 also. Moreover, it is an LTS version that means it will outlast the rapid release versions.
Another argument that supports this idea is that Java 11 is relatively new. Therefore, it will take some time to gain traction. Most of the businesses that are already mushrooming with the deployment of Java 8 will continue reaping benefits from it.
Can’t decide which one to use for using Java 11? OpenJDK or Oracle JDK. Well, here’s a contrast between the two to help you make your selections.
Attempts for making OpenJDK and Oracle JDK binaries as similar as possible are in action. Nonetheless, there are still several dissimilarities between the two in the 11th major release of Java. Some of the most important ones are:
Hope this helps you make your JDK selections!
Start Learning Java today!
by Vijay Singh
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||