A plataforma Java continua como a mais utilizada no mundo, basta conferir no TIOBE Index de Maio/16, que mede a popularidade das várias linguagens de programação existentes, conforme o gráfico abaixo (metodologia do TIOBE index). Nestes últimos 15 anos, o Java ocupou a liderança deste ranking na maior parte do tempo, revezando o posto com a veterana C!
TIOBE Programming Community Index for May 2016 Fonte: http://www.tiobe.com/tiobe_index |
Portanto nada mais natural que existir uma grande expectativa pela próxima versão, de número 9, que trará vários novos elementos. Uma lista com as principais características do Java 9 foi assunto de um post anterior (Java 9::o que esperar) que comentou sobre o shell Java integrado para experimentação de construções da linguagem no estilo read-eval-print loop; a API dedicada a microtestes (microbenchmark); o novo cliente para HTTP 2; o suporte para Unicode 7.0 e 8.0; a atualização das APIs de processo, concorrência e outras; o coletor de lixo G1 como default; além da modularização do código fonte e da biblioteca run-time.
Mas existem muitas outras novidades no Java 9 como imagens multi-resolução; tratamento para formato TIFF; melhorias diversas nos sistemas gráficos para Windows e Linux; suporte ao GTK3; aperfeiçoamentos no controle da compilação e depreciação de elementos; melhorias no JavaDoc; e outras tantas. No momento são 21 JEPs (Java Enhance Proposals) para a versão 9, como pode ser visto na página do OpenJDK sobre o projeto.
Na verdade, a versão 9 está atrasada! A previsão de sua liberação em setembro/16 foi adiada devido a atrasos no projeto Jigsaw, de modularização da API, como comentado no blog Takipi. Hoje o Java Runtime Enviroment tem estrutura quase monolítica, pois seu arquivo rt.jar contém quase 20000 classes, boa parte sem uso em muitos programas, tornando-se um peso. O objetivo do projeto Jigsaw é possibilitar a divisão do runtime em componentes que possibilitem a criação de versões otimizadas para atender necessidade específicas. Embora fácil de explicar, conseguir a flexibilidade e o desempenho almejados, dentro das premissas da linguagem e garantindo a necessária retrocompatibilidade é bem mais complicado, o que justifica o atraso.
O Plano Atual
Atualmente o cronograma da versão 9, conforme a página do projeto é este:
Isto significa que no final de maio/16 devem ser confirmadas todas as JEPs (melhorias propostas) que efetivamente comporão a versão 9. Segue uma fase de testes e depuração de maneira que no final de janeiro/17 esteja disponível um build candidato a primeira versão oficial do Java 9. Assim, no final de março/17 deve ocorrer o General Avaliability, ou seja, quando o JDK 9 para produção é liberado!
As versões preliminares do Java 9 podem ser experimentadas. Basta efetuar o download de uma versão early access no link indicado para JDK 9 Early Access Releases na seção Para Saber Mais. É só conferir!
Para saber mais
- JDK 9 no OpenJDK
http://openjdk.java.net/projects/jdk9/ - Java 9 – The Ultimate Feature List
http://blog.takipi.com/java-9-the-ultimate-feature-list/ - 5 Features in Java 9 that WILL Change How You Develop Software (and 2 That Won’t)
http://blog.takipi.com/5-features-in-java-9-that-will-change-how-you-develop-software-and-2-that-wont/ - JDK 9 Early Access Releases
https://jdk9.java.net/download/ - TIOBE Programming Community Index Definition
http://www.tiobe.com/tiobe_index?page=programminglanguages_definition