Novidades do Java 8
Um pouco sobre mim...
● Aprendiz e entusiasta Java desde 2002.
● Trabalha ou só da aula?
● Sonho e realidade: Camtwo Sistemas.
● Java 8, muito a aprender.
about.me/andreforchesatto
Agenda
● Fatos e números
● Principais novidades
● API Data
● Lambdas
● Stream
● Optional
Revolucionário?
Fatos e números
● Nove milhões de desenvolvedores
● Três bilhões de dispositivos funcionam sob a tecnologia Java.
● 125 milhões de dispositivos de mídia baseados em Java foram desenvolvidos.
● 10 bilhões de Java Cards foram enviados desde que o produto foi lançado.
fonte: http://www.oracle.com/br/corporate/press/pr-br-march-25-2014-2177918-ptb.html
Principais novidades Java SE
● Projeto Lambda
● API Stream
● API Collection
● API Data e Hora
● Function
● JavaScript Nashorn
● Perfis Compactos
● Acabou o PermGem
18 anos de lamentação
java.time
● Chega de Date ou Calendar
● Nova API de Datas
● Operações com data simplificadas e
otimizadas
● Baseada no Joda-Time (joda.org/joda-time)
Pré Java 8
Pós Java 8
Mais...
● LocalDate● LocalDateTime● ZonedDateTime● ChronoUnit● Period
Códigos...
Lambda
● Apenas para interfaces funcionais;● Mudanças coordenadas no compilador, VM
e API;● Ajudam a remover código repetido;
Lambda
(parâmetros) -> código
(final String nome, final String sobrenome) -> código
(String nome, int idade)->código
(nome)->código
nome ->códigoTipos inferido
Pré Java 8
Pós Java 8
Mais...
● Default Methods● Interfaces funcionais● Method references
Códigos...
Stream
● Utilizada para realizar operações com coleções
● Operações de map-reduce e filter
Pré Java 8
Pós Java 8
Mais...
● Reduces● Map● Parallel● Collectors
Códigos...
Optional
● Fim do NullPointerException?
Códigos...
Algumas referências
http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
http://www.casadocodigo.com.br/products/livro-java8
http://blog.caelum.com.br/o-minimo-que-voce-deve-saber-de-java-8/
http://pt.slideshare.net/martyhall/java-8-tutorial-lambda-expressions-part-1
Obrigado
Dúvidas?