A Oracle anunciou mais uma série de funcionalidades que serão entregues como parte do JDK9, entre elas, a principal novidade anunciada é relativa a modularidade da plataforma. Além disso, diversas outras funcionalidades também foram anunciadas, tais como:
- Unified JVM Logging - uma grande revisão no mecanismo interno de notificação de eventos na JVM, permitindo substituir o atual sistema de Logging por um sistema comum unificado que possibilita que diversos componentes compartilhem o mecanismo de log.
- Remove GC Combinations Deprecated in JDK 8 - a remoção de três combinações de GC desatualizados: DefNew + CMS, ParNew + SerialOld e o Incremental CMS. Essas combinações já haviam sido marcadas como obsoletas no Java8.
- Compiler Control - melhoria no controle sobre o compilador Hotspot JIT, permitindo adicionar opções para cada método a ser compilado, até a possibilidade de modificar as opcões em runtime. Como por exemplo, adicionar diretivas para habilitar ou desabilitar uma otimização específica para um determinado método, remover a opção do método ser inline ou até mesmo instalar uma diretiva durante runtime e verificar o seu resultado.
- Milling Project Coin - ajustes de alguns detalhes originados no Java 7 (Project Coin) que entregou algumas pequenas mudanças na linguagem. Haverá mudanças como permitir @SafeVargs em métodos privados, permitir variável final try-with-resources, diamond com inner classes e a remoção do underscore ("_") como um identificador válido.
A lista de features também inclui o término do projeto de remoção de warnings e uma limpeza no gerenciador de importação. Ao importar deprecated classes não serão mais disparados warnings e alguns problemas como long-standing type resolution no javac também serão corrigidos.
O suporte a um conjuntos de tecnologias modernas também foi anunciado, como exemplo o Datagram Transport Layer Security (DTLS), e uma atualização do javadoc tool para gerar saída HTML5.
O atual status das JEPs também mostra que a especialização de tipos primitivos em tipos genéricos (para permitir algo como List<int>) não está no roadmap para o JDK9, mas sim para o JDK10.
O roadmap, milestones e a data esperada de lançamento do Java 9 ainda não foi divulgado, mas as expectativas são para o período entre setembro e novembro de 2016.