Esse artigo faz parte da revista Java Magazine edição 01. Clique aqui para ler todos os artigos desta edição

OUND: white; COLOR: red; FONT-FAMILY: Verdana">Atenção: por essa edição ser muito antiga não há arquivo pdf para download desta revista. os artigos disponíveis somente em doc.

J2SE 1.4

Novas APIS e mais velocidade no novo Java

Conheça as novidades da quinta versão da plataforma base de Java, com grandes extensões e performance superior

 

Cerca de vinte meses após o lançamento da versão 1.3, o kit oficial de ferramentas do programador Java recebeu um novo e significativo incremento. A versão 1.4 da edição padrão de Java 2 (J2SE, ou Java 2 Standard Edition) inclui os resultados de 11 JSRs, recentemente finalizadas no JCP (Java Community process – veja quadro abaixo) e um grande número de classes e interfaces adicionais.

Neste artigo, vamos dar uma olhada nas principais mudanças introduzidas no J2SE 1.4 (que também chamaremos de JDK 1.4). Após isso, estaremos mais bem equipados para decidir quando começar a usar o novo conjunto de APIs e ferramentas da Sun.

 

Foco em APIs

O foco principal da versão 1.4, segundo a Sun, foi fornecer ao programador um repertório mais completo de APIs, evitando a necessidade de usar APIs não-Java, que antes eram tipicamente acessadas via JNI (Java Native Interface), ou aquelas APIs escritas em Java, mas não padronizadas. Há também grandes melhorias em velocidade de execução em várias áreas, embora não tenha havido grande progresso em relação ao consumo de memória da máquina virtual Java.

Com relação à linguagem Java em si, no entanto, não espere ver grandes mudanças. Houve apenas uma – a introdução da palavra-chave assert. Maiores mudanças na linguagem virão na próxima versão, 1.5, que deverá incluir suporte à programação genérica – os chamados generics, com objetivo similar aos templates de C++ - assim como várias outras novidades menores. Considerando o histórico das versões principais do J2SE, a nova versão deverá ser lançada no final de 2003.

A figura da página ao lado mostra os componentes da plataforma J2SE 1.4, incluindo APIs e ferramentas.

 

Caça aos bugs: cadeias de exceções

A classe Java.Iang.Throwable, base de todas as classes de exceções e erros em Java, agora suporta o encadeamento de exceções, bem como outras facilidades  relacionadas. Isto pode parecer uma adição de pequena importância, mas faz uma grande diferença na prática. Por exemplo, considere este bloco de código, escrito para o JDK 1.3.x:

 

//Tratamento de uma exceção checada, antes do JDK 1.4

try {

   //Acessa um arquivo

}

catch (10Exception e)  {

   throw MinhaExcecaoDeAltoNivel (e.getMessage() ) :

}

 

Ao executar o código anterior, o programa perderia completamente o stack trace (informações com a seqüência de métodos chamados) da exceção original; neste caso, o tipo da exceção também seria perdido. Para evitar isto, uma implementação sob demanda de um mecanismo de encadeamento tinha de ser feita. Com o JDK 1.4, entretanto, basta fazer isto:

 

//Lidando com uma exceção checada, estilo JDK 1.4

try {

  //Acessa um arquivo

}

catch (10Exception e) {

   throw MinhaExcecaoDeAltoNivel (e.getMessage() ).initCause(e);

}

 

O novo método Throwable.initCause salva internamente a exceção indicada (a ¨causa¨ declarada da nova exceção). Quando uma impressão de stack trace da instância de MinhaExcecaoDeAltoNivel é solicitada, o resultado inclui também o stack trace da exceção causadora (uma 10Exception, no caso anterior).

Em código escrito para J2SE 1.4, a classe MinhaExcecaoDeAltoNivel teria construtores adicionais, aceitando a exceção causadora explicitamente. Assim, o programador cliente não precisaria usar o método ...

Quer ler esse conteúdo completo? Tenha acesso completo