Java 9 - Visão geral
JAVA 9 (também conhecido como jdk 1.9) é uma versão importante do desenvolvimento de linguagem de programação JAVA. Sua versão inicial foi lançada em 21 de setembro de 2017. Os principais objetivos do lançamento do Java 9 são -
Para tornar a plataforma JDK e Java Standard Edition modular com base no sentido de que ela pode ser reduzida a pequenos dispositivos de computação.
Para melhorar a segurança geral das implementações JDK e Java.
Facilitar o processo de construção e manutenção de bibliotecas de código java e grandes aplicativos para as plataformas JAVA SE e EE.
Projetar e implementar um sistema de módulo padrão para a plataforma Java que pode ser aplicado tanto na plataforma quanto no JDK facilmente.
Novas características
Existem mais de 90 melhorias adicionadas ao Java 8, as mais significativas são mencionadas abaixo -
Module - Um novo tipo de componente de programação Java introduzido como módulo, que é uma coleção nomeada e autoexplicativa de código e dados.
REPL (JShell) - Recurso Read-Eval-Print Loop (REPL) adicionado à plataforma Java.
HTTP 2 Client - nova API HTTPClient com suporte para websockets e fluxos HTTP 2 e recursos de envio de servidor.
Improved JavaDocs- Suporta geração de saída HTML5. Fornece uma caixa de pesquisa para documentação de API gerada.
Multirelease JAR - Aprimora o formato JAR para que várias versões específicas do release Java de arquivos de classe possam coexistir em um único arquivo.
Collection Factory Methods - Novos métodos de fábrica estáticos para interfaces List, Set e Map para criar instâncias imutáveis dessas coleções.
Private Interface Methods - Interfaces aprimoradas com métodos estáticos privados e privados.
Process API Improvements - API aprimorada para controlar e gerenciar processos do sistema operacional.
Stream API Improvements - Maior segurança e robustez, permitindo que os fluxos de entrada de dados de serialização de objetos sejam filtrados.
Try With Resources improvement - Agora, as variáveis finais podem ser usadas como recursos na instrução try-with-resources.
Enhanced @Deprecated Annotation - Anotação @Deprecated renovada para fornecer mais informações sobre o status e a disposição pretendida de uma API.
Inner Class Diamond Operator - Permitir que o operador diamante seja usado com classes anônimas se o tipo de argumento do tipo inferido puder ser denotado.
Optional Class Improvements - Novos métodos úteis são adicionados à classe java.util.Optional.
Multiresolution Image API - Suporta encapsulamento de um conjunto de imagens com diferentes resoluções em uma única imagem multiresolução.
CompletableFuture API improvements - Os mecanismos assíncronos da classe CompletableFuture podem executar uma ação quando o processo sai com o método ProcessHandle.onExit.
Lightweight JSON - Uma API leve introduzida para consumir e gerar documentos e fluxos de dados via json em java 9.
Reactive Streams API - Uma nova API Reactive Streams em Java SE 9 foi introduzida para oferecer suporte à programação reativa em java 9.