BT

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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.