2015-03-03

JDK 8u40 has been released and is available from the Java SE Downloads page. See the JDK 8u40 Update Release Notes for details.

Java Tutorial Updates

The Java Tutorial has been updated to include a new lesson in the Deployment trail that describes how to use the Java packaging tools to generate self-contained applications. Self-contained applications are Java applications that are bundled with the JRE that is needed to run. These applications are installed on a user's local drive and launched in the same way as native applications. See Deploying Self-Contained Applications for more information.

JDK Tools Enhancements

JDK 8u40 contains many tools enhancements. See
Tools Enhancements in JDK 8 for details.

JavaFX Enhancements

Starting with the JDK 8u40 release, JavaFX controls are enhanced to support assistive technologies, meaning that JavaFX controls are now accessible. In addition, a public API is provided to allow developers to write their own accessible controls.

Accessibility support is provided on Windows and Mac OS X platforms and includes:

Support for reading JavaFX controls by a screen reader

JavaFX controls are traversable using the keyboard

Support for a special high-contrast mode that makes controls more visible to users.

JDK 8u40 also includes new JavaFX UI controls; a spinner control, formatted-text support, and a standard set of alert dialogs.

Spinner Control

A Spinner is a single line text field that lets the user select a number or an object value from an ordered sequence. See javafx.scene.control.Spinner class for more information.

Formatted Text

A new TextFormatter class provides text formatting capablity for subclasses of TextInputControl (for example, TextField and TextArea). See javafx.scene.control.TextFormatter class for more information.

Dialogs

The Dialog class allows applications to create their own custom dialogs. In addition, an an Alert class is also provided, that extends Dialog, and provides support for a number of pre-built dialog types that can be easily shown to users to prompt for a response. See javafx.scene.control.Dialog, javafx.scene.control.Alert, javafx.scene.control.TextInputDialog, and javafx.scene.control.ChoiceDialog classes for more information.

Commercial Features

Application Class Data Sharing (AppCDS):

Application Class Data Sharing (AppCDS) extends CDS to enable you to place classes from the standard extensions directories and the application class path in the shared archive. This is a commercial feature and is no longer considered experimental (contrary to what is specified in the java tool documentation). See the -XX:+UseAppCDS option in the java launcher tool page.

Cooperative Memory Management

Starting with JDK 8u40, the notion of "memory pressure" has been added to the JDK. Memory pressure is a property that represents the total memory usage (RAM) on the system. The higher the memory pressure, the closer the system is to running out of memory.

As a reaction to increased memory pressure, the JDK will try to reduce its memory usage. This is mainly done by reducing the Java heap size. The actions the JDK will take to reduce memory usage may lead to reduced performance. This is an intentional choice.

The pressure level is provided by the application through a JMX MXBean using a scale from 0 (no pressure) to 10 (almost out of memory). To enable this feature, the jdk.management.cmm.SystemResourcePressureMXBean should be registered. The memory pressure is then set using the "MemoryPressure" attribute.

A new command line flag -XX:MemoryRestriction that takes one of the arguments 'none', 'low', 'medium', or 'high', is also available. This flag will set the initial pressure in the JDK and will work also in cases where the MXBean is not registered.

Cooperative Memory Management requires the G1 GC (-XX:+UseG1GC). This feature is not compatible with the flag
-XX:+ExplicitGCInvokesConcurrent.

New Commercial Flags

Two new VM options are now available for commercial license holders:

-XX:+ResourceManagement

-XX:ResourceManagementSampleInterval=value (milliseconds)

For more information, see the java tool page.

New MSI Installer Documentation

The Microsoft Windows Installer (MSI) Enterprise JRE Installer Guide is now available. The MSI Enterprise JRE Installer requires a commercial license for use in production. To learn more about commercial features and how to enable them, visit http://www.oracle.com/technetwork/java/javaseproducts.

Java Flight Recorder(JFR) Enhancements

It is now possible to enable Java Flight Recorder at runtime. For details, see the Java Flight Recorder Runtime Guide. Java Flight Recorder requires a commercial license for use in production. To learn more about commercial features and how to enable them, visit http://www.oracle.com/technetwork/java/javaseproducts.

Show more