O que há de novo no Java 10 e quais são os planos futuros?
Recentemente, o Java mudou o ritmo dos lançamentos. Anteriormente, levaria anos para chegar a uma nova versão do Java. Mas o Java 10 foi lançado no mundo apenas seis meses após o Java 9. Parece que a Oracle vai tentar fornecer novas versões do Java para os desenvolvedores o mais rápido possível. O lançamento mais rápido de versões Java significa que os desenvolvedores terão acesso a novos recursos mais cedo. Por outro lado, a adoção rápida do desenvolvedor levará a mais popularidade do Java. Então, é uma vitória para ambas as partes.
O que há de novo?
Aqui estão alguns dos recursos importantes do Java 10:
Inferência de tipo de variável local: Java requer variáveis explicitamente digitadas para garantir "segurança de tipo". É usado como princípio de design para minimizar erros de tempo de execução. No entanto, digitar explicitamente variáveis para iteradores de loop e valores intermediários torna a programação Java demorada e sujeita a erros. Com a inferência de tipo de variável local, o compilador Java será capaz de inferir o tipo de uma variável a partir do contexto. Deve acelerar a programação em Java.
GC Completo Paralelo para Coletor de Lixo G1: Às vezes, a coleta de lixo tem prioridade sobre o programa em execução e a execução do programa é congelada para dar à coleta de lixo acesso exclusivo ao JVM. Isso é conhecido como “coleta de lixo completa”. No Java 10, este processo foi otimizado para executar threads paralelos em vários processadores. Isso torna o processo mais eficiente.
Compartilhamento de dados de classe de aplicativo: Isso irá otimizar o tempo de inicialização e pegada. Se um jar não muda, então os dados da classe também não mudam. Depois que os dados da classe são criados, eles podem ser colocados em um arquivo e reutilizados em várias JVMs.
Compilador JIT Experimental: Compiladores just-in-time (JIT) ajudam os desenvolvedores a escrever aplicativos eficientes. Mas o compilador JIT do Java foi escrito em C++. O novo JIT é baseado em Java. Isso tornará mais fácil para os desenvolvedores manter o código.
Conscientização do Docker: O Java 10 JVM saberá se está sendo executado em um contêiner Docker. Em vez de falar diretamente com o sistema operacional, a JVM obterá as informações do contêiner Docker.
Consolide a floresta JDK em um único repositório: Várias florestas JDK são combinadas em um único repositório. Melhora a limpeza e agiliza o desenvolvimento.
Alocação de heap em dispositivos de memória alternativos: HotSpot VM será capaz de alocar heap de objeto Java em um dispositivo de memória definido pelo usuário alternativo.
Certificados raiz: JDK 10 foi desenvolvido com a cooperação de OpenJDK. Ele fornecerá um conjunto padrão de Autoridades de Certificação raiz.
Planos futuros
Aqui estão algumas considerações futuras para Java:
- O projeto Amber está ajudando a criar recursos orientados à produtividade, como inferência de tipo variável local, enums aprimorados e sobras de lambda.
- O Projeto Panamá está trabalhando na interconexão de JVM e código nativo.
- O Projeto Valhalla está tentando desenvolver os principais recursos de linguagem para Java 10.
- O Projeto Loom está se concentrando na simplificação do desenvolvimento de aplicativos simultâneos. Ele preservará os encadeamentos Java em geral, melhorando o desempenho e reduzindo a pegada.
Conclusão
Os novos ciclos de lançamento acelerados significam que os recursos podem ser enviados para a próxima versão com mais frequência do que antes. Mas, no geral, os recursos do JDK 10 devem ser ótimos para todos.
Referências:
- https: // www.mundo da informação.com / article / 3230507 / java / java-jdk-10-what-new-features-to-expect-in-the-next-java.html
- https: // www.Forbes.com / sites / oracle / 2018/03/20 / what-java-10-and-javas-new-6-month-release-cadence-mean-for-developers / # 1c8b7e29271a
- https: // blog.codefx.org / java / application-class-data-sharing /
- https: // jaxenter.com / better-containerized-jvms-jdk-10-140593.html
- https: // dzone.com / articles / java-10-release-10-new-features-devs-should-know