Depois de aproximadamente 5 anos de espera finamente chega a nova versão do jdk, o jdk 7, a versão está prevista para ser lançada oficialmente 7 de julho, mas realmente somente estará pronta em agosto o motivo para esse lançamento é unicamente um jogo de marketing com o número da nova versão do java ( Lançamento 7/7).

            A princípio o projeto do jdk 7 era divido em dois subprojetos:

·O projeto coin que é o responsável por pequenas melhorias na linguagem  como switch com strings, mutil try etc.

·O projeto lambda as novidades mais complexas da linguagem com o clouser que entre algumas vantagens deixaria o java mais dinâmico.

            Com o intuito de lançar essa nova versão do foi entregue basicamente o projeto coin e o projeto lambda terá sua entrega prevista em 2012 com o lançamento do java 8 fazendo com que se tenha atualizações constantes. Essas novidades não serão apenas bem vindas  as aplicações comerciais, mas também nas  plataformas,  por exemplo, no java EE 7 que está sendo desenvolvido em cima desse novo jdk. Nessa nova versão está previsto também o projeto Da vinci Machine que tem como maior objetivo de implementar ainda mais o números de linguagens que rodam em cima da JVM, a ideia é fazer, invokeDynamic, criar instruções na JVM  para ativar bytecodes externos. Outra informação legal é que nessa nova versão o open jdk, o projeto da máquina java open source, passa agora a ser a implementação de referência isso já havia sido prometido na época da Sun e agora estará sendo comprido.

 

Novidades do java 7

 

Nessa versão de uma maneira especial se pode observar que não se trouxe nenhum recurso inédito para a linguagem, mas sim facilidades para os recursos já existentes. Por exemplo, já era possível criar Collections nas versões antigas, mas agora para facilitar e tornar o código mais legível existe dentro do projeto coin o diamont, que será explicado melhor com o andamento do artigo.

 

As principais novidades nessa versão são:

 

JSR 292: o projeto Da Vinci Machine que visa implementar um número maior de linguagens

 

JSR 334: Pequenas melhorias na linguagem com o projeto coin, será melhor explorado no  final do artigo

 

Modificações na API class-Loader para evitar impasse na hora de carregar classes, método que libera recursos, como arquivos abertos realizado pelo URLClassLoader.

 

JSR 166y: Atualizações em APIs de concorrência e também nas coleções

 

Melhorias na internalização como a atualização para a versão unicode 6.0, da classe java.util.Locale para apoiar IETF BCP 47 (Tags Idiomas Identificação) e UTR 35 (dados local Markup Language)

 

JSR 203: Uma nova api para I/O para a plataforma: com essa api se terá suporte a Ipv6, SCTP (Stream Control Transmission Protocol) e SDP (Sockets Direct Protocol)

 

Implementação para Criptografia de curvas elípticas que é uma variante da criptografia assimétrica ou de chave pública, baseada na matemática das curvas elípticas.

 

Atualização para o jdbc 4.1 que dentre suas principais novidades é usar os recursos na nova versão como o fechamento automático da conexão e o RowSet 1.1 que agora pode suportar todos os tipos de dados suportado pelo jdbc Driver.

 

Novidades em alguns componentes gráficos como o Um novo Java2D pipeline de gráficos com base na extensão XRender X11, que dá acesso a muitas das funcionalidades das modernas GPUs, janelas gráficas melhor trabalhadas com recursos translucido e moldada  e um novo  look and feel Nimbus, um tema para os componentes Swing (essa parte do projeto já havia sido iniciado no java 6.10), novo componente o JLayer é um decorador universal para componentes Swing que lhe permite aplicar vários efeitos de pintura avançadas, bem como receber notificações de todos os AWTEvents gerada dentro de suas fronteiras.

 

Atualizações de alguns componentes que já estão no java é o caso do JAXP 1.4, JAXB 2.2a, e JAX-WS 2.2.

 

Melhorias no MBeans com.sun.management existentes para relatar informações da CPU em relação aos processos da JVM.

 

Conclusão:

 

Neste artigo foi falado do lançamento do java 7, essa novidade não trouxe nenhuma grande novidade a linguagem, o que aconteceu de uma maneira geral foi mudanças estéticas para deixar a linguagem mais clara, simples além de muito mais fácil de implementar.