How to use –enable-preview (plus –source or –release during compilation) to experiment with Java’s preview features like switch expressions and text blocks
Posts about concepts of the Java programming language. This does not include posts which merely employ Java to talk about something else.
Java 13 introduces text blocks: string literals that span multiple lines. Here’s all you need to know about syntax, indentation, escape sequences, formatting, and more.
The JDK contains immutable collections, but no type `ImmutableCollection`. I explain why and claim that that’s never gonna change.
A detailed guide to Java 12: migration, version requirements, new features (switch expressions, teeing collectors, indenting/transforming Strings, and more), and JVM changes (default CDS, Shenandoah, G1).
The teeing collector, available since Java 12 as Collectors::teeing, forwards its input to two other collectors before merging their results with a function.
Java 12 introduces switch expressions. Together with a new lambda-style arrow syntax, this makes switch more expressive and less error-prone.
Think Java 11 is just a maintenance release? Think again! Here are eleven small but shiny additions to classes like String, Path, Files, Collection, Optional, and others that make coding a little more elegant.
From Java 11 on, you can execute a single source file without compiling it first. Beyond experimentation, you can write scripts this way. Even the shebang is supported!
With Java 11’s new reactive HTTP/2 API, request and response bodies can be handled with reactive streams, which gives you full control over the bytes going over the wire: you can throttle, stream, and even cancel early.
Java 11 ships with a new, fluent HTTP/2 API. This tutorial explains the basic building blocks and how to send requests synchronously and asynchronously.