Oracle announced the availability of JDK 8, a production-ready implementation of the Java Platform, Standard Edition 8 (Java SE 8) Platform Specification, which was recently approved through the Java Community Process (JCP). According to Oracle the release includes the largest upgrade to the Java programming model since the platform was introduced in 1996. Oracle also announced Oracle Java SE Embedded 8, which leverages the new Java SE 8 features and is optimized for mid to high end embedded systems.
According to Oracle, Java SE 8 and Java ME 8 ( Java Platform, Micro Edition 8) are on a strong convergence path, with Java ME 8 scheduled for availability later this spring. With a consistent Java 8 platform across embedded devices, desktops, data centers and the cloud, customers can deploy applications faster, process and analyze in-flight data and act on events as quickly as they occur. Leveraging Java's cross-platform benefits, the Oracle Java Embedded implementations are designed to increase hardware flexibility and platform choice, allow easier application portability and help extend product lifecycles.
“Java 8 is a huge milestone towards platform unification,” said Nandini Ramani, vice president of Java product development in a video announcing the release. “CDC will be replaced by Java SE compact profiles - this will eliminate one of the implementations while at the same time greatly increasing commonality of APIs. The differences in APIs will be mostly restricted to things like device access. From a language perspective, Java ME 8 will be on parity with Java SE 8 with a few exceptions such as Lambda. The platforms will also have common tooling.” In addition, she noted, “With Java 8, we get code portability from Java ME running on small devices all the way to Java SE running on the server side. Java SE 8 is a revolutionary release for us.”
Java SE 8
Java SE 8 enables enhanced developer productivity and application performance increases through reduced boilerplate code, improved collections and annotations, simpler parallel programming models and more efficient use of modern, multi-core processors.
The key features of JDK 8 are Project Lambda (JSR 335), the Nashorn JavaScript Engine, a new Date and Time API (JSR 310), a set of Compact Profiles and the removal of the "permanent generation" from the HotSpot Java Virtual Machine (JVM). A complete list of the new features and capabilities of JDK 8 is available here.
Oracle JDK 8 has already achieved world record performance for 4 socket systems on NEC Intel-based servers and for 2 socket systems on Oracle SPARC T5 servers, with a performance improvement of 12 to 41% compared to JDK 7 on the same Oracle configuration.
New client Java features and enhancements are also available as part of the latest JavaFX release within JDK 8. These include: an embedded specific graphics stack, new UI controls, a Modena theme, functionality to enable developers to embed Swing content into JavaFX applications, new 3D graphics features and additional HTML 5 support. There is also backward compatibility of Java SE 8 with previous versions of the platform.
Oracle Java SE Embedded
Oracle Java SE Embedded 8 provides a development platform for embedded devices and the Internet of Things (IoT) that includes the flexibility, portability and features of Java SE 8. Oracle Java SE Embedded 8 allows developers to leverage the three new Compact Profiles in Java SE 8, which are predefined subsets of the full Java SE 8 API specification and allow for creation of smaller platforms for embedded devices. With this release, Java SE can now be deployed on embedded devices based using as little as 10 MB static footprint and 16 MB of RAM, 2-3 times smaller than Oracle Java SE Embedded 7.
Java ME 8
Java ME 8 is a major update to the existing Java ME platform incorporating a large set of updated and new features, including: Java language and API alignment with Java SE 8, support for modern web protocols, a comprehensive application model, advanced security features and standard APIs for power management and interaction with a broad set of standard peripherals.
Enhancements in Java ME 8 are designed to deliver faster application performance, which is especially important on less powerful devices. With this release, Java ME and Java SE are converging, enabling a more consistent developer experience and more code re-use across the platforms. The new Java language enhancements in Java ME 8 also leverage recent Java SE features to allow developers to write cleaner, more efficient code that can be deployed across both platforms and the new embedded-specific capabilities of Java ME 8 can help to further shorten and simplify development cycles.
There are now over 9 million java developers and it is deployed on over 3 billion devices, said Ramani.
To access a replay of the launch webcast, moderated by Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, go here.