BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

Oracle lança o Java 8

por Alex Blewitt , traduzido por Rafael Sakurai em 20 Mar 2014 |

No dia 18/03, durante o evento EclipseCon, a Oracle anunciou a versão completa e estável (GA) do Java 8, a primeira grande atualização dos últimos 2 anos. O download está disponível para Linux e Windows no formato 32 ou 64 bits, e também para Mac OS X e Solaris 64 bits. Há também um versão para ARM (compilador para o Hard Float ABI) que pode ser usado no Raspbian e em outras plataformas do Raspberry Pi.

O Java 8 traz muitas melhorias e novas funcionalidades. Dentre as quais podemos destacar:

  • Lambdas fornecem uma maneira de passar funções como dados. Com a conversão implícita para tipos de Single Abstract Method (Método Abstrato Simples, tal como o Runnable) simplificará muito o código necessário para passar filtros ou atributos como dados. (Note que a razão pela qual isso é chamado de lambdas é que o Java possui closures na forma de classes internas desde a versão 1.1; o que alguns chamam de forma incorreta de closures, na verdade estão falando de lambdas.) Um exemplo de lambda é x -> x + 1;
  • Referências de métodos permitem que métodos estáticos possam ser referenciados como funções que podem ser passadas para outras funções. Um exemplo pode ser o Integer::parseInt, que pode ser mapeado para uma coleção de Strings para produzir uma coleção de Integers;
  • Streams que fornecem um iteração no estilo lazy dos valores, tanto a partir de uma coleção, como de uma série infinita (tal como a ThreadLocalRandom) ou de um intervalo fixo (tal com os produzidos pelo byIntStream); bem como a iteração sobre os dados, sendo permitido processar em paralelo e realizar reduções, filtragens e mapeamentos que permitem que a combinação com lambdas forneça construções de programação funcional em Java;
  • Os métodos de extensão permitem uma maneira de adicionar novos métodos para interfaces que já existem no Java sem a necessidade recompilar as classes que utilizam essas interfaces. Isso é usado em uma grande quantidade de classes de coleções para fornecer interfaces para a implementação de streams e outras referências úteis que de outra forma deveriam estar na classe utilitária Collections;
  • JSR310 adicionou o novo processamento de data e hora no Java, para evitar os problemas excessivos da classe java.util.Date e dos pacotes relacionados;
  • PermGen nunca mais; os desenvolvedores não precisarão mais adicionar a flag -XX:PermGen para adivinhar antes da hora qual a quantidade de strings serão criadas internamente pela aplicação;
  • Nashorn adicionou suporte nativo para JavaScript na JVM, permitindo que o Java e outras linguagens baseadas na JVM possam utilizar as vantagens do JavaScript nas suas aplicações;
  • OpenJFX trouxe o JavaFX para o OpenJDK, preparando o terreno para que as IDEs futuras possam utilizar esse sistema de interface gráfica de usuário.

Assim como o Java 8, todos os grandes fabricantes de IDEs anunciaram o suporte ao Java 8 no mesmo dia, como o patch disponível para o Eclipse 4.3.2, uma pequena versão do IntelliJ 13.1 e a nova versão do NetBeans 8.0.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT