Features Added: - A lightweight JSON API for consuming and generating JSON documents and data streams. - A HTTP 2 Client that will bring HTTP 2.0 and websockets, while replacing the legacy HttpURLConnection. - Process API Updates to improve controlling and managing operating-system process (developers were often forced to use native code with the current API). Along with several other smaller features, as well as dozens of proposals already being tracked by the JEP Index, Oracle has also promised another trio of performance features: - Improve contended locking, which aims at improving performance when threads compete over access to objects. - Segmented code cache with better performance, shorter sweep times, less fragmentation and further extensions to come. - The Smart Java compiler, or sjavac, will be improved to allow default use in the JDK build and general use for building larger projects. | Features Added: - Local-Variable Type Inference: It will enhance the Java Language to extend type inference to declarations of local variables with initializers and also introduces var to Java, something that is common in other languages. - Application Data-Class Sharing: This JEP extends the existing Class-Data Sharing (CDS) feature for allowing application classes to be placed in the shared archive in order to improve startup and footprint. - Parallel Full GC for G1: It improves G1 worst-case latencies by making the full GC parallel. - Garbage Collector Interface: It will improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface. - Thread-Local Handshakes: It introduces a way to execute a callback on threads without performing a global VM safepoint. Makes it both possible and cheap to stop individual threads and not just all threads or none. - Time-Based Release Versioning: It revises the version-string scheme of the Java SE Platform and the JDK, and related versioning information, for present and future time-based release models. - Heap Allocation on Alternative Memory Devices: It enables the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user. - Experimental Java-Based JIT Compiler: It enables the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform. - Additional Unicode Language-Tag Extensions: It will enhance the java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags. |