- Java 9 - Miscellaneous Features
- CompletableFuture API Improvements
- Java 9 - Multiresolution Image API
- Optional Class Improvements
- Inner Class Diamond Operator
- Enhanced @Deprecated Annotation
- Try With Resources improvement
- Java 9 - Stream API Improvements
- Java 9 - Process API Improvements
- Java 9 - Private Interface Methods
- Java 9 - Collection Factory Methods
- Java 9 - Multirelease JAR
- Java 9 - Improved JavaDocs
- Java 9 - REPL (JShell)
- Java 9 - Module System
- Java 9 - Environment Setup
- Java 9 - Overview
- Java 9 - Home
java9 Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Java 9 - Overview
JAVA 9 (aka jdk 1.9) is a major release of JAVA programming language development. Its initial version was released on 21 Sep 2017. The main goals of Java 9 release are −
To make JDK and Java Standard Edition platform modular based in the sense that it can be scalled down to small computing devices well.
To improve the overall security of the JDK and Java Implementations.
To make build process and maintainance of java code pbraries and large apppcations easy for for JAVA SE and EE platforms.
To design and implement a standard module system for the Java Platform which can be appped on both Platform and JDK easily.
New Features
There are 90+ enhancements added to Java 8, the most significant ones are mentioned below −
Module − A new kind of Java programing component introduced as module, which is a named, self-describing collection of code and data.
REPL (JShell) − Read-Eval-Print Loop (REPL) capabipty added to the Java platform.
HTTP 2 Cpent − new HTTPCpent API supporting websockets and HTTP 2 streams and server push features.
Improved JavaDocs − Supports HTML5 output generation. Provides a search box to generated API documentation.
Multirelease JAR − Enhances the JAR format so that multiple, Java release-specific versions of class files can coexist in a single archive.
Collection Factory Methods − New static factory methods for List, Set, and Map interfaces to create immutable instances of those collections.
Private Interface Methods − Enhanced interfaces with private and private static methods.
Process API Improvements − Improved API to control and manage operating system processes.
Stream API Improvements − Enhanced security and robustness by allowing incoming streams of object-seriapzation data to be filtered.
Try With Resources improvement − Now final variables can be used as resources in the try-with-resources statement.
Enhanced @Deprecated Annotation − @Deprecated annotation revamped to provide more information about the status and intended disposition of an API.
Inner Class Diamond Operator − Allow the diamond operator to be used with anonymous classes if the argument type of the inferred type can be denoted.
Optional Class Improvements − New useful methods are added to java.util.Optional class.
Multiresolution Image API − Supports encapsulation of a set of images with different resolutions into a single multiresolution image.
CompletableFuture API improvements − The asynchronous mechanisms of the CompletableFuture class can perform an action when the process exits with ProcessHandle.onExit method.
Lightweight JSON − A pghtweight API introduced to consume and generating documents and data streams via json in java 9.
Reactive Streams API − A new Reactive Streams API in Java SE 9 has been introduced to support reactive programming in java 9.