For the past several years, the community has watched the slow, inexorable progress of a long-term project within the Java ecosystem: to strongly encapsulate the internals of the Java runtime.
As Ben Evans explains, in Java 8 and before, you could call public methods on any public class, both directly and reflectively. However, after the Java module system arrived, these calls became subject to additional restrictions. Encapsulation of direct access to internal classes means that code is less likely to have errors at runtime because user classes are tightly coupled to the internal implementation of the JDK—and thereby might break when they are run on a different or newer JDK.
In his article, Ben walks you through this project’s milestones and changes beginning with Java 9 and continuing to Java 16—and soon, to Java 17.
Take care, Alan Zeichick Editor in Chief, Java Magazine @zeichick
Guava: A treasure trove of Java functionality As Andrew Binstock explains, an omnibus Java library such as Guava can do away with many dependencies and greatly simplify your projects.
Java Magazine is a deep dive into Java and the JVM. Find detailed explanations about the language and the platform written by experts and members of the Java development team.
Join a quarter of a million subscribers in getting useful, authoritative programming information delivered directly to your inbox.