Primeiros passos com o Java 8
Este artigo apresenta as novidades do Java 8. Esta nova versão foi motivada pela inclusão das expressões Lambda, melhorias em performance, segurança e a nova API de data e hora, tornando o código Java muito mais simples de ser implementado.
Recursos especiais neste artigo:
Conteúdo sobre Novidades
Este artigo apresenta as novidades de maior destaque que farão parte da nova versão da plataforma Java. Além de melhorias em performance, segurança e a nova API de data e hora, esta nova versão é motivada principalmente pela inclusão das expressões Lambda, adicionando então à linguagem Java alguns recursos muito difundidos em linguagens funcionais, tornando assim o código Java muito menos verboso e, em vários cenários, muito mais simples de ser implementado. Vale lembrar que o Java 8 ainda não foi lançado oficialmente, no entanto começar a estudá-lo a partir de agora certamente será um bom diferencial quando esta versão chegar oficialmente ao mercado.
Estamos completando agora em 2013 pouco mais de dois anos desde o lançamento do Java 7 e de acordo com os últimos anúncios feitos pela equipe da Oracle, a nova versão está prevista para março de 2014. Mesmo com inúmeras melhorias nas últimas versões, desde a introdução de Generics, anotações e outros recursos no Java 5, a linguagem Java não passava por alterações e melhorias tão significativas quanto as que teremos com as expressões Lambda e todas as outras modificações estimuladas por este novo recurso. Além de mudanças na linguagem propriamente dita, várias melhorias foram feitas em diversas partes do Java 8 com grande foco em segurança e performance.
No Java 8 também teremos uma nova API de data e hora, co-liderada pelo brasileiro Michael Nascimento Santos e pelo líder do renomado projeto Joda-Time, Stephen Colebourne, sendo que esta nova API irá resolver várias das limitações e problemas da API atual, além de fornecer vários novos recursos para se trabalhar com datas e horas.
Outro fator muito importante é que o processo de desenvolvimento da plataforma Java vem se tornando cada vez mais aberto e participativo, com destaque aqui para o forte envolvimento da comunidade open source, que tem ajudado e muito em todo este processo, principalmente através de contribuições ao projeto OpenJDK. Esta maior abertura fornece vários benefícios, como poder-se baixar, testar ou mesmo modificar o código fonte da plataforma Java antes das versões oficiais saírem, possibilitando testar nossas aplicações em versões futuras do JDK com bastante antecedência, o que facilita a correção de problemas e minimiza o impacto das atualizações.
Configurando seu ambiente de desenvolvimento
Para os exemplos e testes apresentados neste artigo, iremos utilizar a versão b99 do Java 8 e a última versão disponível do NetBeans IDE com suporte a esta nova plataforma. O primeiro passo é fazer o download do Java 8 no site oficial do projeto OpenJDK e do NetBeans no site oficial do projeto Lambda, que podem ser consultados na seção Links.
Após efetuar o download, basta instalar o NetBeans IDE e depois descompactar o Java 8 numa pasta de sua preferência. A forma mais simples de começar é executar o NetBeans IDE diretamente com o Java 8. Para isso, edite a propriedade netbeans_jdkhome no arquivo etc/netbeans.conf, existente na pasta de instalação do NetBeans, conforme o trecho a seguir:
netbeans_jdkhome="/usr/lib/jvm/jdk1.8.0"
Com isso o próprio IDE já será executado na versão Java 8 e nenhuma outra configuração adicional será necessária.
Expressões Lambda e Virtual Extension Methods
Com o advento de novas linguagens nos últimos anos, principalmente de linguagens funcionais, há uma forte cobrança por parte da comunidade para que a linguagem Java continue evoluindo. Para contemplar algumas destas reivindicações, no Java 8 teremos um novo recurso chamado de Lambda Expressions. Estas expressões Lambda, na sua essência, introduzem na linguagem Java o conceito de função.
Expressões Lambda
As expressões Lambda, também chamadas de closures ou apenas Lambda pela comunidade, foram incluídas na linguagem Java com o propósito de simplificar e reduzir a verbosidade da linguagem em alguns cenários comuns para nós desenvolvedores, como por exemplo, no uso de classes anônimas para implementar interfaces simples. Na Listagem 1, mostramos como seria o tratamento de um evento em um botão Swing utilizando classes anônimas.
Listagem 1. Exemplo de evento Swing
utilizando classes anônimas.
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.out.println("Hello World!");
}
});
Na Listagem 2, temos a mesma funcionalidade apresentada anteriormente, mas agora implementada utilizando as expressões Lambda.
Listagem 2. Exemplo de evento Swing
utilizando Lambda Expressions.
button.addActionListener(event -> {
System.out.println("Hello World!");
});
"
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo