JAVA 9 (aka JDK 1.9) is the main launch of JAVA programming language development. Its preliminary version was launched on 21 Sep 2017. The foremost desires of Java 9 launch are −
- To build JDK and Java Standard Edition platform commutable firstly build totally withinside the sense that it could be measured right all the way down to small computing devices well.
- To enhance the general safety of the JDK and Java Implementations.
- To make construction method and maintenance of java code libraries and big applications smooth for JAVA SE and EE platforms.
- To design and enforce a well-known module device for the Java Platform which may be carried out on both Platform and JDK easily.
New Features
There are 90+ improvements introduced to Java 8, the maximum considerable ones are stated below −
- Module − A new type of Java programming element added as a module, that's a named, self-describing collection of code and information.
- REPL (JShell) − Read-Eval-Print Loop (REPL) functionality brought to the Java platform.
- HTTP 2 Client − new HTTPClient API helping WebSockets and HTTP 2 streams and server push features.
- Improved JavaDocs − Supports HTML5 output generation. Provides a search box to generate API documentation.
- Multi Release JAR − Enhances the JAR format so that multiple, Java launch-particular variations of sophistication documents can coexist in a single archive.
- Collection Factory Methods − New static manufacturing unit techniques for List, Set, and Map interfaces to create immutable times of these collections.
- Private Interface Methods − Enhanced interfaces with non-public and personal static techniques.
- Process API Improvements − Improved API to manipulate and manipulate running machine processes.
- Stream API Improvements − Enhanced safety and robustness through permitting incoming streams of object-serialization statistics to be filtered.
- Try With Resources improvement − Very last variables may be used as sources withinside the try-with-sources statement.
- Enhanced @Deprecated Annotation − @Deprecated annotation remodeled to offer greater facts approximately the reputation and supposed disposition of an API.
- Inner Class Diamond Operator − Allow the diamond operator for use with nameless training if the argument form of the inferred kind may be denoted.
- Optional Class Improvements − New beneficial techniques are brought to java.util.Optional elegance.
- Multiresolution Image API − Supports encapsulation of hard and fast pix with one-of-a-kind resolutions right into a single multiresolution image.
- CompletableFuture API improvements − The asynchronous mechanisms of the CompletableFuture elegance can carry out a movement while the procedure exits with the ProcessHandle.onExit method.
- Lightweight JSON − A light-weight API added to eat and producing files and statistics streams through JSON in java 9
- Reactive Streams API − A new Reactive Streams API in Java SE 9 has been adding on to support reactive programming in java 9