segunda-feira, 6 de julho de 2015

5 recursos do Java 9 que vai mudar como você desenvolve Software (e 2 que não vai)

Quais são as características mais emocionantes que são esperados para ser lançado em Java 9?

Não se distraia com o silêncio ultimamente em torno do Java 9. Os committers JDK estão trabalhando duro para preparar a próxima versão, prevista para ser concluída a poucos meses, em Dezembro de 2015. Depois disso, ele vai passar por testes rigorosos e correções de bugs preparando-o para disponibilidade geral, que está prevista para setembro de 2016.
Hoje temos uma imagem muito clara das características que podemos esperar do Java 9. Se o Java 8 poderia ser descrito como o maior lançamento de lambdas, streams e mudanças na API, então Java 9 é tudo sobre Jigsaw, utilitários extras e mudanças sob o capô . Neste post reunimos algumas das características que acreditamos serem os mais emocionantes que são alvo do Java 9 - Além de do projeto Jigsaw, que assumiu a missão de quebrar o JRE e trazendo modularidade para componentes do núcleo do Java.

1. Java + REPL = jshell

Sim. Anteriormente tínhamos dúvidas que o projeto Kulla tornaria a tempo para integrar o Java 9, mas agora é oficial. A próxima versão do Java contará com uma nova ferramenta de linha de comando chamado jshell que irá adicionar suporte nativo e popularizar uma maneira Java para REPL (Leia-Eval-Print-Loop). Significado, digamos, se você vai querer executar algumas linhas de Java em seu próprio país, você não terá que embrulhar tudo em um projeto ou método separado.

2. microbenchmarks estão chegando

O Java Microbenchmarking Harness (JMH) por Alexey Shipilev está dando o próximo passo em sua evolução e se junta Java como uma solução oficial benchmarking. Então uma maneira padronizada de realizá-las é algo que é com certeza uma melhoria.
JMH é um Java harness para construção, execução e análise de nano / micro / mili / macro benchmarks. Quando se trata de aferição precisa, há forças em jogo como vezes warmup e otimizações que podem ter um grande impacto nos resultados. Especialmente quando você está indo para baixo para micro e nano segundos. Então, hoje JMH é sua melhor escolha se você deseja obter os resultados mais precisos para ajudar você a alcançar a decisão direita seguindo seus benchmarks - E agora está se tornando um sinônimo de Java 9.

3. G1 será o novo coletor de lixo padrão?


Um equívoco comum que muitas vezes ouvimos é que Java tem apenas um coletor de lixo, quando na verdade ele tem 4. Com Java 9, há uma proposta em progresso que ainda está em debate para substituir o coletor padrão de lixo (O paralelo / coletor de throughput) com G1, que foi introduzido no Java 7. Para uma visão mordida dimensionada sobre as diferenças entre os diferentes colecionadores, você pode conferir esse post aqui.
Geralmente, G1 foi projetado para melhor montões de apoio maiores do que 4 GB e tem sido conhecido por causar pausas do GC menos freqüentes, mas quando se trata de uma pausa, ele tende a ser mais longo. Recentemente nós discutimos todas as coisas GC com Haim Yadid, chefe de desempenho no Outbrain, para ajudá-lo a aprender mais sobre as diferentes soluções de compromisso entre os colecionadores. Além disso, se você gostaria de ter uma visão de dentro deste debate, as listas de discussão hotspot-dev e jdk9-dev são um ótimo lugar para começar.

4. HTTP 2.0 é o futuro


O HTTP 2.0 RFC foi aprovada apenas alguns meses atrás, a construção em cima de algoritmo SPDY do Google. SPDY já mostrou grandes melhorias de velocidade através de HTTP 1.1 que variam entre 11,81% para 47,7% e a sua execução já existe na maioria dos navegadores modernos.
Java 9 terá suporte completo para HTTP 2.0 e apresentam um novo cliente HTTP para Java que irá substituir HttpURLConnection, e também implementar HTTP 2.0 e websockets.

5. O processo de API terá um enorme impulso


Até agora tem havido uma capacidade limitada para controlar e gerenciar os processos de sistema operacional com Java. Por exemplo, a fim de fazer algo tão simples como obter o seu processo PID em versões anteriores do Java, você precisa do código nativo de acesso ou usar algum tipo de uma solução mágica. Além disso, seria necessário uma implementação diferente para cada plataforma para garantir que você está recebendo o resultado correto.

A atualização irá estender a capacidade do Java para interagir com o sistema operacional: Novos métodos diretos para lidar com PIDs, nomes de processos e estados, e capacidade de enumerar JVMs e processos e muito mais.

O que você não vai estar vendo em Java 9?


Duas características interessantes que assumimos vai fazer parte da próxima versão Java - mas agora nós sabemos que eles serão ignorados neste momento são:

1. API JSON padronizada


Em uma pesquisa que realizamos com 350 desenvolvedores, a API JSON foi tão alardeado como Jigsaw, mas parece que não fez o corte, devido a problemas de financiamento. Mark Reinhold, arquiteto-chefe da plataforma Java, na lista de discussão JDK 9:
"Este PEC seria uma adição útil para a plataforma, mas, no grande esquema das coisas, não é tão importante quanto os outros recursos que a Oracle está a financiar, ou financiamento, considerando, para JDK 9. Podemos reconsiderar esta JEP para 10 ou JDK uma versão posterior. "

2. Dinheiro e API Moeda

Em outras notícias, também foi falado a respeito da Money and Currency API que também está com falta de suporte Oracle. Esta é a resposta que recebemos do Anatole Tresch, a liderança APIs spec.


Fonte: JavaCodeGeek Traduzido por: ALJUG

Nenhum comentário:

Postar um comentário