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
- JDBC Interview Questions
- Java Servlet Interview Questions
- Java IO Interview Questions
- Java String Interview Questions
- Java Collections Interview Questions
- Java Exceptions Interview Questions
- Java OOPS Interview Questions
- Core Java Interview Questions
- JSF Interview Questions
- JSP Interview Questions
- JPA Interview Questions
- Spring Framework Interview Questions
- Spring Boot Interview Questions
- Core Java Multiple Choice Questions
- 60 Java MCQ Questions And Answers
- Aricent Java Interview Questions
- Accenture Java Interview Questions
- Advanced Java Interview Questions For 5 8 10 Years Experienced
- Core Java Interview Questions For Experienced