Over the past year, Java went through many changes. At the start of the year, Java EE was in an uncertain state and the Java 9 release had been pushed back from its originally scheduled 2016 release date. At JavaOne in 2016, Oracle announced its plans to address the platform as well as information on Java SE 9 and OpenJDK 9.
In June 2017, the Java Community Process executive committee voted for and approved the Java Platform Module System known as JSR 376, laying the groundwork for Java 9.
Java 9 was finally released in September. It features a modular architecture instead of the monolithic architecture seen in past versions of Java. This enables scalability on smaller devices, which is a feature that should have been included in JDK 8, but wasn’t ready at the time of that release.
Java 9 also features a link time phase occurring between compile time and runtime. JShell added Read-Eval-Print-Loop functionality to Java, which allows developers to have instant feedback as they write code, making it helpful for beginners or even experienced Java developers experimenting with a new API, library, or feature. There were also several new features that improved JVM compilation and performance, as well as enhancements to the core library.
In July 2016, developers were still awaiting news about when Java EE would get updated, and at the time there was no information about it coming from Oracle. A group called the Java Guardians was formed to try to get Oracle to give Java EE the attention they felt needed to move forward. At JavaOne in September, Oracle finally spoke up about Java EE, saying that it planned to finalize and ship it in 2017.
In August, Oracle announced that it wanted to move Java EE to an open source foundation. One month later, Oracle turned Java EE over to The Eclipse Foundation, with Oracle continuing to support existing Java EE licenses. According to Oracle, the move to The Eclipse Foundation enabled organizations to “adopt more agile processes, implement more flexible licensing, and changed the governance process.”
The Eclipse Foundation has many other open-source projects and a community-based governance approach. This allows for greater collaboration on projects and rapid innovation.
Also in September, Oracle proposed changes to the Java SE and JDK release cycle in an effort to make the releases more agile instead of feature-driven. It wants to put out a major release every six months, starting in March 2018 with Java 9. Update releases will continue to be released every quarter and long-term support releases will come out every three years. This new release cycle is reflective of the way in which we consume technology at an accelerated rate these days, as opposed to the longer adoption cycle in the early days of Java.
At JavaOne in October, several software tool provides announced new services. Parasoft released an updated to Jtest, which is a Unit Test Assistant for Java. JNBridge announced Java.VS, a plugin to that allows developers to write Java code in Visual Studio. Java.VS also has a Java code editor, Java project system, and allows Java developers to use the VS build system and debugger interface.