Also revealed: Java 18’s not-so-hidden gems |
|
Week of May 9, 2022 |
|
|
|
|
Broadly speaking, each Java release contains four different categories of things.
- At the top of the list are the major JDK Enhancement Proposals representing completed work, and thus, new features and functions that you can (and should) use in production code.
- Next up are the previews and incubators, which are there for you to experiment with but which may change in a subsequent JEP.
- You have JEPs that document features that will be deprecated and removed.
- Finally, there are more subtle enhancements, changes, and bug fixes that don’t warrant the full JEP treatment.
Java expert Mohamed Taman spent a lot of time working through each of these aspects of Java 18 and explores his findings in two separate articles. The first covers the not-so-hidden aspects of Java 18, that is, the five main JEPs. The second article is about the previews, incubators, and the truly hidden gems of enhancements and bug fixes. Oh, yes: deprecations and removals too; we mustn’t forget those.
Take care, Alan Zeichick Editor in Chief, Java Magazine @zeichick
P.S. Details about JavaOne (and Oracle CloudWorld) in Las Vegas are coming together. There will be a pre-event program on Monday, October 17, and then the keynotes and deeply technical conference sessions on Tuesday, Wednesday, and Thursday. See the latest updates here. |
|
The newest Java Magazine articles |
The not-so-hidden gems in Java 18: The JDK Enhancement Proposals Mohamed Taman takes you on a code-rich tour of five of the JEPs in the Java 18 release: JEP 400: UTF-8 by default; JEP 408: Simple Web Server; JEP 413: Code snippets in Java API documentation; JEP 416: Reimplement core reflection with method handles; and JEP 418: Internet address resolution service provider interface.
The hidden gems in Java 18: The subtle changes There is much more to a Java release than the main JEPs. Mohamed Taman discusses Java 18’s JEP 417: Vector API (third incubator); JEP 419: Foreign Function and Memory API (second incubator); and JEP 420: Pattern matching for switch (second preview). He also reveals many of the truly hidden gems in the small features, additions, enhancements, bug fixes, deprecations, and removals.
Curly Braces #4: Network data transmission and compression in Java High-performance messaging software requires more than fast, efficient code. You also need a strong fundamental understanding of networking—and knowledge about the I/O limitations of the systems your code runs on. Sometimes there comes a point where even the fastest code waits on network I/O, and as Eric Bruno explains, that’s where data compression comes in.
Bruce Eckel on switch expressions, arrow syntax, and case null Java recently added the ability to use the new arrow syntax (->) for the case clauses in a switch. Bruce Eckel demonstrates the old and new ways of writing the clauses. Bruce also explains the case null clause in switch and how to use switch as an expression. |
|
Popular articles about threading |
|
|
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. |
|
|
|
|