A Oracle anunciou ontem a disponibilidade geral da plataforma
Java Standard Edition 7 (Java SE 7), o primeiro lançamento da linguagem sob a tutela da empresa, finalmente terminado após mais de 5 anos de cooperação dentro da comunidade internacional do Java.
Resultado de um processo de desenvolvimento que envolveu avaliações abertas, compilações semanais e a colaboração extensiva entre os engenheiros da Oracle e membros do ecossistema Java, principalmente a
comunidade OpenJDK e o
Java Community Process (JCP). O novo Java SE 7 traz uma série de avanços na sua tecnologia.
Com o projeto Coin (
JSR 334), foram efetuadas mudanças na linguagem, com o intuito de aumentar a produtividade dos desenvolvedores e simplificar algumas tarefas de programação, reduzindo a quantidade de código necessária para desempenhar operações comuns, tornando a sintaxe mais clara e garantindo uma leitura facilitada do código. Com a inclusão da proposta InvokeDynamic (
JSR 292) o Java passa a suportar melhor algumas linguagens dinâmicos, como Ruby, Python e JavaScript, o que representa um ganho de desempenho substancial na máquina virtual Java.
Foi também acrescentada uma API pronta para trabalhar com múltiplos núcleos de processamento, com o framework Fork/Join (
JSR 166), que permite que desenvolvedores decomponham mais facilmente problemas em tarefas que podem ser executadas em paralelo através de um número arbitrário de núcleos de processamento. Além disso, com a nova interface de E/S (entrada e saída) NIO.2 (
JSR 203) é possível trabalhar com sistemas de arquivos que podem acessar uma variedade maior de atributos de arquivos e oferecer mais informações na ocorrência de qualquer erro.
A nova versão ainda traz novos recursos de conectividade e segurança, suporte expandido para a internacionalização, com o acréscimo do suporte à Unicode 6.0 e versões atualizadas de um grande número de bibliotecas.
O Java SE 7 foi desenvolvido com um forte suporte à compatibilidade reversa, que permite que código desenvolvido para versões anteriores ainda possam ser usados na nova plataforma. De acordo com a Oracle, isso preserva as habilidades de programação dos desenvolvedores atuais e protege o investimento na tecnologia Java.
Os desenvolvedores interessados em começar a programar para a nova versão do Java podem usar o NetBeans Integrated Development Environment (IDE) 7.0, o Eclipse Indigo com o plug-in adicional para o Java SE 7 ou o IntelliJ IDEA 10.5, que suporta os recursos mais recentes da plataforma Java SE 7.
Contudo, a nova versão veio com alguns problemas. De acordo com um
aviso da Apache Foundation o otimizador de código do Java 7 está com defeitos e pode causar falhas em loops, como resultado a JVM pode ser quebrada e cálculos produzem resultados incorretos.
Um grande número de projetos foi afetado, entre eles todas as versões publicadas do Lucene e do Solr. Os desenvolvedores do Apache afirmam que a indexação de documentos feita pelo Solr faz o Java quebrar, no Lucene o problema é ainda mais grave, pois faz os laços do Lucene compilarem incompletamente o que termina por corromper os índices.
A Oracle já registrous as falhas sob os números
7070134,
7044738 e
7068051. Contudo, afirmou que só vai corrigí-las em uma segunda revisão.