Since Java 9 Oracle’s move towards a faster release cycle means that more features and abilities are coming our way, faster than ever before. The Java Platform, Standard Edition 11 Development Kit (JDK 11) is a feature release of the Java SE platform. It contains new features and enhancements in many functional areas.

In this series we will look at the features and changes in Java 11, and how it's benefit or affecting us as Java Developer.

Blogs in this series:

  • What's New in Java 11

    What are the features and enhancements in Java 11, and how will it be different from previous version and the change on the way we code. This post is basically a very short summary of each JEP as documented for JDK 11.

Tutorials in this series:

  • Java 11 - Nest-Based Access Control (JEP 181)

    Nest is an access-control context that introduced in Java 11. It's aligns with the existing notion of nested types in the Java programming language
  • Java 11 - java.lang.Class Changes for Nest-Based Access Control (JEP 181)

    Start in Java 11, membership in a nest is exposed through the new getNestHost and getNestMembers methods of java.lang.Class
  • Introduction to Java 11 Standarized HTTP Client API

    The HTTP Client API is now part of the Java SE 11 standard. The module name and the package name of the standard API is java.net.http. The API provides high-level client interfaces to HTTP (versions 1.1 and 2) and low-level client interfaces to WebSocket.
  • Multiple Requests Using HTTP/1.1 VS HTTP/2

    The Java HTTP Client supports both HTTP/1.1 and HTTP/2. By default the client will send requests using HTTP/2. Requests sent to servers that do not yet support HTTP/2 will automatically be downgraded to HTTP/1.1
  • HTTP/2 Server Push and Handling Push Promises

    Server push is a method in HTTP/2 which allows server to send multiple responses for a single request. This feature decreases the latency in loading a web-page.
  • Java 11 - Local-Variable Syntax for Lambda Parameters (JEP 323)

    Java 11 allows local var syntax to be used in lambda expressions (JEP 323). One of the benefit is that modifiers, notably annotations, can be applied to local variables and lambda formals without losing brevity.
  • Java 11 - Flight Recorder (JEP 328)

    In this article, we take a look at how to leverage the Java Flight Recorder (JFR) feature as part of Java 11, which provide a low-overhead data collection framework for troubleshooting Java applications and the HotSpot JVM.
  • Java 11 - Remove the Java EE and CORBA Modules (JEP 320)

    Java 11, through JEP 320 aims to remove the Java EE and CORBA modules from the Java SE Platform and the JDK. The removal of these modules is not without impact. In this article, we will learn what the impact of this removal, and how to work around it.
  • Using JAXB in Java 11

    JAXB is a framework to map Java classes to XML representations. JAXB enables to marshal Java objects into XML and unmarshal XML back into Java objects. In Java 11, JAXB has been removed from JDK and we need to add it to the project as a separate library.
  • Java 11 - New Methods in java.lang.String

    Java 11, added various new methods in java.lang.String which can change our behavior when working with String. They are: strip(), stripLeading(), stripTrailing(), isBlank(), lines() and repeat(int)
  • Java 11 - Convert Collection to Array

    A new default method toArray(IntFunction) has been added to the java.util.Collection interface, to return a new array consisting of the elements of this collection.
  • Java 11 - New Methods in Path and Files

    Java 11 added two new overloaded static methods in java.nio.file.Path to conveniently create a Path instance. Java 11 added readString and writeString to java.nio.file.Files class to directly read String from files and to directly write string to files.
  • Java 11 - New Methods in java.io

    In this tutorial we will go through new methods for java.io package added in Java 11. There are null InputStream/OutputStream/Reader/Writer, InputStream readNBytes(...), and new Constructors for FileReader and FileWriter.