17 New Features In Java 11 | JDK 11 Features

17 New Features In Java 11 | JDK 11 Features from Coding compiler. On the 25th of September 2018 Java 11 was officially released. An important milestone on the way has now been reached. The JDK 11 has entered the so-called ramp down phase 1. So it’s clear which innovations await us in Java 11. Let’s see what are the 17 new features in Java 11.

New Features in Java 11

Like every software project, Java 11 goes through several stages of development. With the Ramp down Phase 1 now achieved, the so-called feature Freeze is activated. From this point on, JEPs (Java Enhancement Proposals) will no longer be accepted, but merely worked on their implementation or stabilization.

As Java platform chief engineer Mark Reinhold (Oracle) announces on the JDK mailing list , the jdk / jdksource code repository has already been forked to the jdk / jdk11 stabilization repository . All pushes on jdk / jdk or jdk / client will now be assigned to the JDK 12.

The stabilization repository is open for bug fixes and selected enhancements, as described in JEP 3: JDK Release Process .

17 New Features in Java 11 | JDK 11

17 features have made it in Java 11 will be discussed here:

JEP 181:  Nest-Based Access Control

Java 11 introduces a new access control context called nest , which correlates with the term “nested types” in Java. This allows classes that logically belong to the same code entity, but are compiled for specific class files. The respective private artifacts can be achieved without the compiler needing auxiliary methods for such accesses.

JEP 309:  Dynamic Class File Constants

The Java Class-file format supports in Java 11 the new form CONSTANT_Dynamic . When loading a CONSTANT_Dynamic , generation is delegated to a bootstrap method, similar to what happens with an invokedynamic call.

JEP 315:  Improve Aarch64 Intrinsics

This is about improving the existing string and array intrinsics for AArch64 processors as well as new CPU architecture-specific code patterns for the java.lang.Math functions sin, cos and log.

JEP 318:  Epsilon: A No-Op Garbage Collector

A new garbage collector will be introduced in Java 11, which, while allocating memory, does not implement a memory-sharing mechanism. Once the available Java heap is used up, the JVM shuts down.

JEP 320:  Remove the Java EE and CORBA Modules

The Java EE and CORBA modules are to be removed from the Java SE platform and the JDK.

JEP 321:  HTTP Client (default)

Standardize the HTTP Client API introduced in JDK 9 and updated in JDK 10.

JEP 323:  Local Variable Syntax for Lambda Parameters

The code word var is available in Java 11 for declaring the parameters of implicitly typed lambda expressions . This adapts the syntax of an implicitly typed lambda expression to that of a local variable declaration. Example: (var x, var y) -> x.process (y) // implicit typed lambda expression

JEP 324:  Key Agreement with Curve25519 and Curve448

Implementation of the cryptographic graphics schemes Curve25519 and Curve448 from RFC 7748 . This should, inter alia, the exchange of keys safer.

JEP 327:  Unicode 10

Updated the existing platform APIs to version 10.0 of the Unicode standard .

JEP 328:  Flight Recorder

The Flight Recorder tool collects event data from applications, the JVM, and the operating system that can help troubleshoot Java applications and the HotSpot JVM.

JEP 329:  ChaCha20 and Poly1305 Cryptographic Algorithms

Implementation of a stream encryption according to the ChaCha20 and ChaCha20 Poly1305 mechanism from RFC 7539 . This will replace the older and insecure RC4 stream cipher.

JEP 330:  Launch Single-File Source Code Programs

Extension of the Java launcher with the possibility to start Java programs consisting of a single source code file. Also, the start within a script via so-called “shebang files” should be possible.

JEP 331:  Low overhead heap profiling

Provision of a sampling mechanism for Java heap allocations to be accessible via JVMTI.

JEP 332:  Transport Layer Security (TLS) 1.3

Implementation of version 1.3 of the TLS protocol (Transport Layer Security).

JEP 333:  ZGC: A Scalable Low-Latency Garbage Collector 
(Experimental)

Launch of the new Z Garbage Collector (ZGC), which promises low latency. GC pauses below 10ms, high scalability up to several terabytes, less than 15% reduced application throughput compared to the G1 garbage collector are sought. ZGC will be integrated into JDK 11 as an experimental feature with initial support for the Linux / x64 platform.

JEP 335:  Deprecate the Rhino JavaScript Engine

The JavaScript engine Rhino, the corresponding APIs and the tool jjs are marked as “deprecated”. The removal from the JDK is intended in a following release.

JEP 336:  Deprecate the Pack200 Tools and API

The tools pack200  and  unpack200  as well as the API Pack200 in  java.util.jar should be marked as “deprecated”. Pack 200 is a compression scheme for JAR files that was introduced in Java 5 and is considered obsolete.

Related Java Interview Questions

  1. JDBC Interview Questions
  2. Java Servlet Interview Questions
  3. Java IO Interview Questions
  4. Java String Interview Questions
  5. Java Collections Interview Questions
  6. Java Exceptions Interview Questions
  7. Java OOPS Interview Questions
  8. Core Java Interview Questions
  9. JSF Interview Questions
  10. JSP Interview Questions
  11. JPA Interview Questions
  12. Spring Framework Interview Questions
  13. Spring Boot Interview Questions
  14. Core Java Multiple Choice Questions
  15. 60 Java MCQ Questions And Answers
  16. Aricent Java Interview Questions
  17. Accenture Java Interview Questions
  18. Advanced Java Interview Questions For 5 8 10 Years Experienced
  19. Core Java Interview Questions For Experienced

Leave a Comment