Oracle announced on March 3 the release of Java Development Kit (JDK) 8, Update 40 (JDK 8u40), with several enhancements for Java developers.
As the latest release of Oracle’s implementation of Java SE, JDK 8u40 brings improvements in Java performance, scalability and administration, making it easier for Java developers to innovate faster in a simple manner and improve application services. The release also includes new updates to JavaFX.
Oracle said Java is being used across the board for all types of uses, such as in small devices, including Internet of things solutions, as well as in smart cities solutions. As such, Oracle is committed to working closely with key partners in the Java ecosystem to continually modernize and deliver new innovations to the Java Platform, the company said.
“The proliferation of mobile devices and the Internet of Things has led to an increasingly connected world, but none of this would be possible without underlying foundational technology like Java,” said Georges Saab, vice president of development for the Java Platform at Oracle, in a statement. “With these updates to JDK 8, we continue to usher in the next era of Java to enable developers and enterprises alike to cement Java’s role as the backbone of today’s and tomorrow’s revolutionary business solutions.”
Oracle said that since its launch last year, Java SE 8 has achieved record adoption rates. Overall, adoption is up significantly compared with the same post-launch time period for Java SE 7.
This latest release includes enhancements to the Garbage First (G1) garbage collector. G1 is also known as JDK Enhancement Proposal 156 (JEP156). The new enhancement limits the likelihood of long pauses while the system frees resources. G1 reliance on full garbage collections to perform class unloading or any other critical operations has been reduced. This is achieved by enabling class unloading to occur at the end of concurrent marking cycles.
The new release also features dynamic enablement of Java Flight Recorder (JFR). Simplifying usability for Oracle Java SE Advanced users, JFR can now be dynamically enabled from the command line or Java Mission Control (JMC), regardless of the original startup parameters. Previously this could only be done with a stop and restart with the proper instructions from the command line. Dynamic enablement of JFR enables users to resolve production problems without requiring a stop, which may impact SLAs and cause disruptions to the end-user experience.
JMC 5.5 is now bundled with JDK 8u40. Based on Eclipse 4.4, JMC 5.5 also includes plug-ins that are now signed and will by default hide Lambda Form hidden methods. And a new Lambda Form Reduction and Caching (JEP 210) enhancement reduces the required memory footprint for applications and improves performance of dynamic languages.
In addition, Oracle added improvements to the native packager to enable developers to create native-feel applications that do not require clients to have an existing Java Runtime installed. These self-contained applications can then be deployed into areas like the Mac app store. The application developer has full control over the runtime and application entry points.
Meanwhile, the new time zone date updater tool can consume the “raw” time zone data (tzdata) rules from the Internet Assigned Numbers Authority (IANA) time zone registry database and convert those to the necessary format required by the Java Runtime Environment (JRE). This provides users with the ability to immediately update the JDK/JRE time zone rules with the latest updates from IANA.
The new release also features new Nashorn support. Nashorn’s goal is to implement a lightweight high-performance JavaScript runtime in Java with a native Java Virtual Machine (JVM). Numerous Nashorn optimizations including support for dynamic languages are incorporated into this release. Also added is a Nashorn Class Filter, which provides fine-grained control over access to Java classes from JavaScript code via a new filtering interface.
In addition, the JDK 8u40 release provides native memory tracking scalability. This feature has been improved to allow it to run without causing a significant performance impact. At the same time, this feature provides users with the ability to diagnose JVM leaks. It also features enhanced cryptographic performance of Secure Hash Algorithm (SHA) algorithms. Performance has been improved on SPARC class systems, which are used heavily by signing certificates in the Web of Trust. SHA performance is critical to Internet security as browsers have begun requiring more computationally expensive versions of SHA-256 or higher, and deprecating SHA-1.
Moreover, JVM reaction to memory pressure has been improved. “Memory pressure” is a property that represents the total memory usage (RAM) on the system. This new feature can be leveraged to reduce the amount of memory used on a system where multiple JVMs are deployed and control the amount of memory designated to be consumed by each JVM, avoiding Out of Memory Errors (OOMEs) from occurring.
Meanwhile, new JavaFX features and enhancements include the ability to modernize the JavaFX stack on Mac OS X and new JavaFX accessibility. Oracle said the JavaFX media stack has been ported on Mac OS X from QTKit and Quicktime, which have been deprecated, to the newer AVFoundation framework. With this, developers using the JavaFX media stack can now gain Mac App Store acceptance and have the opportunity to have their applications released on the Mac App Store. Also, existing JavaFX controls to support assistive technologies have been enhanced, and a public API is provided for developers to write their own accessible controls.