Nearly a year after the long awaited release of Java 8, Oracle have dropped Java 8u40. In the newest version of Java, there have been a number of bug fixes – but with no new language features or APIs, the most exciting thing about this release is likely the upgrades to JavaFX related features.
According to Java overlords Oracle, from 8u40 onwards, JavaFX controls have been enhanced to support “assistive technologies”. There’s also a public API for devs to write their own accessible controls. Accessibility support extends to Windows and Mac OS X platforms and incorporates support for reading the keyboard “traversable” JavaFX controls by a screen reader. You can also find support for a “special high-contrast mode that makes controls more visible to users.”
Oracle state that, going forward,“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.”
Additionally, JDK 8u40 packs in “JavaFX UI controls; a spinner control, formatted-text support, and a standard set of alert dialogs.” Whilst that may not be such a big deal if you’re one of the JavaFX doubters, with the technology rapidly gaining traction in the enterprise, this opens the door for a host of new capabilities.
For a peek at the “very clear performance enhancements” that come for JavaFX in 8u40, take a look at this video by NetBeans enthusiast Geertjan Wielenga;
Needless to say, the JavaFX community have been quick to voice their excitement;
Before 8u40, a11y tools just saw a black box for JavaFX apps. Now they can browse the hierarchy like Scenic View. Very important improvement
— Jonathan Giles (@JonathanGiles) March 3, 2015
— Mohamed Taman (@_tamanm) March 3, 2015
JDK 8u40 is a massive update for a “minor” revision. The Oracle PR release doesn’t mention the JavaFX dialog changes. Recompile everything!
— Christoph Nahr (@ChrisNahr) March 3, 2015
Elsewhere, there have been a number of other headline changes. In the commercial vein, Application Class Data Sharing (AppCDS), which extends CDS to allow developers to put classes from standard extensions directories and the application class path into the shared archive, is no longer considered an experimental feature.
The concept of “memory pressure” is also a new comer in 8u40, with cooperative memory management. Representing total memory usage (RAM) on a system, memory pressure is a measure of how close you are to running out of memory on your system. The JDK will react when pressure is high, and try to reduce memory usage – largely by focusing on Java heap size (at the sake of performance – although this is intentional).
Garbage collection will occur less frequently moving forward, thanks to updates to Java’s Garbage First (G1), which should mean less protracted pauses as the system tries to free up memory.
If you’d like to get stuck straight in, download here – and click here for a full list of everything new in Java-world. Regardless of how significant these changes may be for you, updating could be more of a priority for those still running Java 7, given that Oracle has announced that from next month, it will no longer be providing public support.