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!");
});
Fica claro que houve uma grande simplificação na codificação da implementação da interface ActionListener. Isso se deve porque agora as interfaces com apenas um método abstrato são reconhecidas como interfaces funcionais (Functional Interfaces), e a implementação pode ser concretizada apenas fazendo menção à assinatura do método e então realizando a sua codificação.
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.