Java's chief architect, Mark Reinhold, emphasized the future in his EclipseCon keynote on Tuesday, unpacking both the near-term changes anticipated in Java 9 and updates that future releases could bring.
Much of Reinhold's presentation focused on the concrete benefits of Java modularization. As reported by Alex Blewitt for InfoQ, Java 9 will modularize both the JVM's underlying architecture (and source code) and the individual Java components and runtime images. The Java platform will be reconfigured into a variety of modules, with
java.base as the core dependency layer:
Modules themselves can express dependencies between them, but packages are also exported from modules for the use of others. Due to internal implementation details, some packages (such as
java.basemodule) are made available to friends (like
java.sql) although these won't be visible to normal Java code.
Furthermore, "[d]ependencies are transitive, so code that depends on
java.sql will automatically inherit a dependency on
java.logging, in the same way that Eclipse bundles using
Reinhold noted that any discussion about changes after Java 9 is at this point "highly speculative." Current trends and developments do, however, suggest a number of small language additions (such as value classes and enhanced generics for value types) that would support the ongoing evolution of Java. He also discussed the development and impact of Project Panama.
Read more of this story on InfoQ ...