A Java release contains several JEPs, which add significant new functionality or infrastructure to the Java language or the JVM. A release also contains a veritable plethora of smaller changes, including enhancements, bug fixes, and small tweaks to address outstanding issues or remove unnecessary legacies that can lead to problems down the road.
In his two-part series, Mohamed Taman takes us on his customary tour of the latest Java release. There’s a lot more to Java 19 than you might think, especially by just looking at the list of seven JEPs, most of which are previews and incubators. Yes, Java 19 is paving the highway to tomorrow. Yes, Java 19 is not a Long-Term Support release of the Java platform. And yes, Java 19 is worth examining and adopting today.
Take care, Alan Zeichick Editor in Chief, Java Magazine @zeichick
P.S. Chris Ries, a consulting member of the technical staff on Oracle’s Vulnerability Team, has created a new video about secure coding guidelines for Java SE. Check it out. |
|
The newest Java Magazine articles |
Hidden gems in Java 19, Part 1: The not-so-hidden JEPs Java 19’s JEPs contain previews and incubators for pattern matching for switch expressions, record expressions, virtual threads, structured concurrency, and the Vector API. This release has extremely important JEPs for the future-looking Panama, Amber, and Loom projects, as well as porting the JDK to the Linux/RISC-V instruction set. This article by Mohamed Taman digs into those JEPs.
Hidden gems in Java 19, Part 2: The real hidden stuff Even if you don’t use any of the preview or incubator features in the JEPs (read all about them in part 1), you should consider moving to Java 19, says Mohamed Taman. This article hits the highlights of this release’s enhancements, bug fixes and changes, deprecations, and removed items.
Reduce technical debt by valuing comments as much as code Comments are so secondary, and so undervalued, says Andrew Binstock, that in today’s code they appear infrequently except as routine copyright and licensing headers at the top of files. This is a lost opportunity because good comments lighten the workload of future programmers who will work on the code.
Introducing the Visual Recognition spec for Java machine learning JSR 381, Visual Recognition (VisRec) Specification, was designed to address the following common pain points for machine learning (ML) in Java, explains Justine Kavanaugh-Brown: many different incompatible data formats; many different ML algorithms; many confusing configuration parameters; a lack of a clear, task-oriented interface that hides implementation details; and a lack of simple and portable integration into existing Java applications and devices.
Daisuke Araki—The millionth Oracle Certified Java Developer Daisuke Araki lives in Toyama prefecture, a region in the center of Japan’s largest island, Honshu. It’s been 20 years since Araki-san started his career in software engineering; today he works at a services company that offers seasoned engineers and researchers to its clients around Japan and worldwide. |
|
Recent Java Magazine quizzes |
|
|
|
The almost-new Java Magazine articles |
Efficient JSON serialization with Jackson and Java In modern Java applications, serialization is usually performed using an external library. Ben Evans explains why JavaScript Object Notation (JSON) is a popular choice: JSON is extremely simple, it’s human-readable, and JSON libraries exist for nearly every programming language.
Nothing is better than the Optional type. Really. Nothing is better. The web and blogosphere are full of claims that the Optional class solves the problem of null pointer exceptions. This is not true, says Michael Ernst: When your code throws a NullPointerException or NoSuchElementException, the underlying logic bug is that you forgot to check all possibilities when processing data. It’s better to understand and fix the underlying problem.
Curly Braces #7: Complex math, BigDecimal, and infinity Eric Bruno doesn’t like comparing languages, but for advanced math operations it’s fair to compare Java to Fortran, because Fortran is often the choice for math- and science-based applications—in part because of that language’s built-in support for complex numbers and decades of optimization for numerical use cases. That said, let’s do complex math in Java.
Bruno Souza, the Brazilian JavaMan, accepts lifetime achievement award As the founder and leader of SouJava, Brazil’s huge Java user group, Bruno Souza has been at the forefront of building Java community, not just in his native country but around the world. The Brazilian JavaMan was recognized at JavaOne 2022 for his success in community building and helping Java developers—at all levels—advance their careers and professional standing. |
|
|
Complimentary subscription to Java Magazine |
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. |
|
|
|