Appendix. Beyond Java 17

This appendix discusses versions of Java beyond Java 17. In previous editions of Java in a Nutshell, we have resisted adding forward-looking material, but recent changes in the Java release model (which we discussed in Chapter 1), as well as ongoing and forthcoming Java developments, have prompted a change of tack in this new edition.

In the current model, a new version of Java is released every six months, but only certain releases are LTS. As it stands, Java 11 and 17 are regarded as LTS (with 8 retrospectively added). Note that LTS has a dual meaning: for Oracle customers it means that paid support is available for a multiyear period, while other JDK providers (including Red Hat, Microsoft, Amazon, etc.) have de facto adopted the same versions as those for which backported security and other fixes will be made publicly available—free of charge—as certified OpenJDK binaries.

The industry, as a whole, has not chosen to adopt a six-month Java upgrade cycle for various reasons, and so in practice, the LTS versions are the only ones that are likely to be deployed into production. However, most of the OpenJDK providers do diligently publish binaries for all Java releases, even those that will not be supported beyond the six-month window.

This creates a dichotomy: new features arrive every six months but are not widely deployed by teams until the next LTS, which complicates writing about specific Java versions. This is further complicated by the concept of ...

Get Java in a Nutshell, 8th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.