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.