Novidades do Java 9

Inspirado por uma pergunta no Quora, vou fazer aqui um resumo das novidades da próxima versão do Java. Realmente a linguagem está indo no caminho muito bom para nós programadores. Vejamos algumas novidades que achei mais importantes:

Collection Factory Method

Criar e povoar uma coleção em Java é um parto, mas com esses novos métodos, fica bem mais fácil:

Set<Integer> numbers = Set.of(111, 222, 333);
List<String> topics= List.of("Linked List", "Tree", "Graph", "Array");

JShell

Não será mais necessário usar uma classe com método “main” para testar um código. Haverá um shell interativo para executar código Java.

HTTP/2

Nova API com suporte para WebSockets e HTTP/2:

HttpResponse response = HttpRequest
 .create(new URI("https://www.programadorfeirense.com.br/blog"))
 .body(noBody())
 .GET().send();
 int responseCode = response.responseCode();
 String responseBody = response.body(asString());
 
 System.out.println(responseBody);

Multi-release JAR’s

Você poderá criar versões do seu código ou bibliotecas específicas para uma determinada versão do Java, sem se preocupar com retrocompatibilidade.

Métodos estáticos, privados e padrão em interfaces

Agora você pode adicionar uma implementação padrão de métodos nas interfaces, bem como métodos estáticos.

Modularidade

Haverá uma mudança na JDK  para permitir a separação em módulos, ou seja, carregar apenas partes necessárias para a aplicação, sem ocupar tanto a memória e processador. Esse artigo explica melhor como isso funciona.

G1 Garbage Collector

Agora G1 é o coletor de lixo padrão e lida melhor com sistemas multiprocessados e com grandes quantidades de memória. Para mais detalhes técnicos, podem ler aqui.

Nova API de Processos

Houveram melhorias na forma como o Java se comunica com processos nativos do SO. Agora está muito mais fácil. Confiram aqui.

Concatenação de Strings

Agora a operação de concatenação de strings é repassada em nível de bytecode para um StringBuilder ou outro método semelhante. Para mais detalhes técnicos vejam essa documentação.

Há muito mais novidades, mas essas aqui são as que achei mais interessantes. Até a próxima.