Software Update: Oracle Java 11

Spread the love

Oracle has released version 11 of Java Standard Edition, which has also been labeled LTS. As of this version, Oracle will only release the Java SE Development Kit (JDK), in both the Oracle JDK– if OpenJDKflavor, the latter being offered under the gpl license. Java Runtime Environment (JRE) and Server Java Runtime Environment (Server JRE) are no longer being released. However, it is possible to jlink compose a smaller runtime. The release notes for this version are as follows:

Important Changes and Information

  • The deployment stack, required for Applets and Web Start Applications, was deprecated in JDK 9 and has been removed in JDK 11.
  • Without a deployment stack, the entire section of supported browsers has been removed from the list of supported configurations of JDK 11.
  • Auto-update, which was available for JRE installations on Windows and macOS, is no longer available.
  • In Windows and macOS, installing the JDK in previous releases optionally installed a JRE. In JDK 11, this is no longer an option.
  • In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered. Users can use jlink to create smaller custom runtimes.
  • JavaFX is no longer included in the JDK. It is now available as a separate download from openjfx.io.
  • Java Mission Control, which was shipped in JDK 7, 8, 9, and 10, is no longer included with the Oracle JDK. It is now a separate download.
  • Previous releases were translated into English, Japanese, and Simplified Chinese as well as French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish. However, in JDK 11 and later, French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish translations are no longer provided.
  • Updated packaging format for Windows has changed from tar.gz to .zip, which is more common in Windows OSs.
  • Updated package format for macOS has changed from .app to .dmg, which is more in line with the standard for macOS.

New Features and Enhancements

  • Upgrade existing platform APIs to support version 10.0 of the Unicode Standard
  • Standardize the incubated HTTP Client API introduced in JDK 9, via JEP 110, and updated in JDK 10
  • New Collection.toArray(IntFunction) Default Method
  • Updated Local Data to Unicode CLDR v33
  • Lazy Allocation of Compiler Threads
  • ZGC A Scalable Low-Latency Garbage Collector (Experimental)
  • Epsilon, A No-Op Garbage Collector
  • Low Overhead Heap Profiling
  • Nest Based Access Control
  • Key Agreement with Curve25519 and Curve448
  • Added Brainpool EC Support (RFC 5639)
  • ChaCha20 and Poly1305 Cryptographic Algorithms
  • Enhanced KeyStore Mechanisms
  • RSASSA-PSS Signature Support Added to SunMSCAPI
  • Transport Layer Security (TLS) 1.3
  • Support for AES Encryption with HMAC-SHA2 for Kerberos 5 Defined in RFC 8009
  • Local-Variable Syntax for Lambda Parameters
  • Launch Single-File Source-Code Programs

Removed Features and Options

  • Removal of com.sun.awt.AWTUtilities Class
  • Removal of Lucida Fonts from Oracle JDK
  • Removal of appletviewer Launcher
  • Oracle JDK’s javax.imageio JPEG Plugin No Longer Supports Images with alpha
  • Removal of sun.misc.Unsafe.defineClass
  • Removal of Thread.destroy() and Thread.stop(Throwable) Methods
  • Removal of sun.nio.ch.disableSystemWideOverlapFileLockCheck Property
  • Removal of sun.locale.formatasdefault Property
  • Removal of JVM-MANAGEMENT-MIB.mib
  • Removal of SNMP Agent
  • Removal of Java Deployment Technologies
  • Removal of JMC from the Oracle JDK
  • Removal of JavaFX from the Oracle JDK
  • Remove the Java EE and CORBA Modules

Deprecated Features and Options

  • ThreadPoolExecutor Should Not Specify a Dependency on Finalization
  • Deprecate the Nashorn JavaScript Engine
  • Deprecate -XX+AggressiveOpts
  • Obsolete Support for Commercial Features
  • Deprecate Stream-Based GSSContext Methods
  • Deprecate the Pack200 Tools and API

Other Notes

  • GTK3 Is Now the Default on Linux/Unix
  • Better Stack Walking
  • Method ClassgetAnnotation Throws a TypeNotPresentException When the Annotation Class Is Not Present
  • Make Some System Properties Effectively readonly
  • java.lang.ref.Reference Does Not Support Cloning
  • filterArguments Runs Multiple Filters in the Wrong Order
  • Change to Policy for the Default Set of Modules Resolved When Compiling or Running Code on the Class Path
  • URLClassLoader Does Not Specify Behavior When URL Array Contains null
  • Readiness Information Previously Recorded in SelectionKey Ready Set Not Preserved
  • SelectableChannel.register Can Be Invoked While a Selection Operation Is in Progress
  • DatagramChannel.send Throws AlreadyConnectedException Instead of IllegalArgumentException
  • Separate Blocking and Non-blocking Code Paths
  • Japanese New Era Implementation
  • Enable Java Access Bridge Check Box Option in Control Panel Is Not Available with JDK 11 Installer
  • New PerfCounters for STW Phases on Concurrent GC Are Available
  • G1 Enables Adaptive Parallel Reference Processing by Default
  • Fail Immediately If a GC That Is Unavailable Is Selected
  • Garbage Collectors Adaptively Scale the Number of Threads by Default
  • Better Stability with Older NUMA Libraries (-XX+UseNuma)
  • NotifyFramePop Request Is Not Cleared if JVMTI_EVENT_FRAME_POP Is Disabled
  • Extend Class Data Sharing (CDS) to Support the Module Path
  • JFR Start Failure After AppCDS Archive Created with JFR StartFlightRecording
  • javax.transaction.xa Package Moved to the java.transaction.xa Module
  • Added Google Trust Services GlobalSign Root Certificates
  • Added GoDaddy Root Certificates
  • Removal of Baltimore Cybertrust Code Signing CA
  • Removal of SECOM Root Certificate
  • Added T-Systems, GlobalSign and Starfield Services Root Certificates
  • Removal of AOL and Swisscom Root Certificates
  • Removal of Several Symantec Root CAs
  • Added Entrust Root Certificates
  • jarsigner Prints When a timestamp Will Expire
  • TLS 1.3 Half Close Policy
  • 3DES Cipher Suites Disabled
  • supported_groups Extension Should Not be Present in ServerHello Handshake Message
  • Updated xmldsig Implementation to Apache Santuario 2.1.1
  • Kerberos Sequence Number Issues
  • KerberosString Uses UTF-8 Encoding by Default
  • –add-exports No Longer Implies Readability in javac
  • Packages Not Visible in Imports Are Rejected
  • Missing Types Are Consistently Modeled as ERROR Types

Differences between Oracle JDK and OpenJDK

  • Only Oracle JDK offers Solaris, only OpenJDK offers Alpine Linux.
  • Oracle JDK offers “installers” (msi, rpm, deb, etc.) which not only place the JDK binaries in your system but also contain update rules and in some cases handle some common configurations like set common environmental variables (such as, JAVA_HOME in Windows) and establish file associations (such as, use java to launch .jar files). OpenJDK is offered only as compressed archive (tar.gz or .zip).
  • javac —release for release values ​​9 and 10 behave differently. Oracle JDK binaries include APIs that were not added to OpenJDK binaries like javafx, resource management, and (pre JDK 11 changes) JFR APIs.
  • Oracle JDK offers “JDK” and “JRE”. OpenJDK offers only “JDK”.
  • Usage Logging is only available in Oracle JDK.
  • OpenJDK will (continue to) throw an error and halt if the -XX:+UnlockCommercialFeatures flag is used. Oracle JDK no longer requires the flag and will print a warning but continue execution if used.
  • Oracle JDK requires that third party cryptographic providers be signed with an Oracle-provided certificate. OpenJDK will continue allowing the use of unsigned third party crypto providers.
  • The output of java -version will be different. Oracle JDK will say java and include LTS. OpenJDK (when produced by Oracle) will say OpenJDK and not include the Oracle-specific LTS identifier.
  • Oracle JDK will be released under OTN License. Any License file will need to point to OTN. OpenJDK will be released under GPLv2wCP and will include the GPL license.
  • Oracle JDK will distribute FreeType under the FreeType license and OpenJDK will do so under GPLv2. The contents of \legal\java.desktop\freetype.md will therefore be different.
  • Oracle JDK has Java cup and steam icons and OpenJDK has Duke icons.
  • Oracle JDK source code includes “ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.” and OpenJDK source includes the GPL.
  • Oracle JDK includes additional Java SE specifications (such as, serialization, jar, rmi) and OpenJDK does not.

Version number 11
Release status Final
Website Oracle
Download
License type Conditions (GNU/BSD/etc.)
You might also like