Oracle’s wish list for Java beyond next year’s planned Java SE (Standard Edition) 8 release includes object capabilities, as well as enhancements for ease-of-use, cloud computing, and advanced optimizations.
JDK (Java Development Kit) 10 and releases beyond it are intended to have a unified type system, in which everything would be made into objects, with no more primitives, according to an Oracle slide presentation entitled “To Java SE 8 and Beyond!” posted on the QCon conference website. Oracle cites an ambitious list of goals for Java in the presentation, which was apparently delivered by Oracle Technology Evangelist Simon Ritter last week. A slide entitled “Java SE 9 (and Beyond)” reveals goals for interoperability, including having a multilanguage JVM and improved Java/native integration.
Other languages besides Java, such as JRuby, Scala, and Groovy, already have become popular on the JVM in recent years. A timeline provided in the presentation has JDK 9 arriving in 2015, JDK 10 in 2017, JDK 11 in 2019, and JDK 12 in 2021. The presentation declares, “Java is not the new Cobol.”
Ease-of-use goals for Java include a self-tuning JVM and language enhancements. Advanced optimizations eyed include the unified type system and data structure optimizations. Under the subheading, “Works Everywhere and With Everything,” Oracle lists goals like scaling down to embedded systems and up to massive servers, as well as support for heterogeneous compute models.
For cloud environments, a hypervisor-aware JVM is noted as an intention for JDK 9 and above, including cooperative memory page sharing. Multitenancy goals for JDK 8 and beyond include improved sharing between JVMs in the same OS and per-thread/threadgroup resource tracking and management. The vision for language features in JDK 9 includes large data support, with 64-bit and large-array backing. JDK 10 and above would feature true generics, function types, and data structure optimizations, including multidimensional arrays.
Heterogeneous compute models planned for JKD 9 and beyond include Java language support for GPU (graphics processing unit), FPGA (field programmable gate array), off-load engines, and remote PL/SQL. Also called for in the Oracle presentation is “open development,” in which prototyping and research and development would be done in OpenJDK, which is the open source process for Java. Plans also call for greater community and cooperation with partners and academia.