Java 11 was a long-term support release that introduced several new features and improvements, such as:
Local-Variable Syntax for Lambda Parameters: The var keyword can now be used to declare the parameters of a lambda expression, in addition to the body of a lambda expression.
HTTP Client: A new HTTP client was introduced as a part of the standard library, which supports both HTTP/1.1 and HTTP/2, and allows for HTTP/2 server push.
Deprecated the Nashorn JavaScript Engine: The Nashorn JavaScript engine, which was introduced in Java 8, was marked as deprecated and is planned to be removed in a future version of Java.
Improved Security: Java 11 includes a number of security improvements, including the ability to configure the default SSL/TLS protocols and cipher suites, and the ability to disable the use of SSL/TLS protocols that are considered insecure.
Strings in Switch Statements: Java 11 allows Strings in switch statements, it is a useful feature for writing more readable and maintainable code.
Launch Single-File Source-Code Programs: Java 11 introduced the ability to launch single-file source-code programs directly, without the need to first compile them.
Removed Java EE and CORBA Modules: Java EE and CORBA modules were removed from the Java SE Platform and the JDK.
New Garbage Collectors: The Garbage-First (G1) garbage collector became the default garbage collector and the Epsilon GC was added as an experimental GC.
Additional Unicode Language-Tag Extensions: Additional Unicode language-tag extensions were added to support new languages and regions.
Improved Support for macOS: Java 11 included improved support for macOS, including notarization and support for Dark Mode.
Other features include:
ZGC: A new concurrent garbage collector designed for large heap sizes
Epsilon GC: A new GC that does not perform any memory reclamation
Flight Recorder: A new JVM feature that continuously collects data about the performance and resource usage of an application
References: Java-11