Java 8 
Conhecendo as principais novidades
Quem sou eu
Agenda 
1. Como o Java evolui? 
2. A nova API de Data e Hora 
3. Default Methods e Functional Interfaces 
4. O que são Lam...
1. Como o Java evolui?
Java SE Java EE 
● Linguagem Java 
● Compilador 
● Máquina Virtual 
● Bibliotecas 
padronizadas 
● Servidor de Aplicação
Especificação Implementação 
● JCP - Process 
● JSR 337 - Spec 
● Especificação de 
Referência 
● Expert Group e 
Contribu...
Especificação Implementação 
JPA Hibernate, Eclipse Link ... 
JSF 
Servidor Java EE 
JVM 
Mojarra, MyFaces ... 
Wild Fly, ...
2. A nova API de Data e Hora
java.util.Date Java 1.0 
● Que 12 se refere ao ano, mês ou dia? 
● Mês 12 não é dezembro, é janeiro! 
● Ano 12 não é ano 1...
java.util.Calendar Java 1.1 
… 
● Mutável e não thread-safe 
● Bastante verboso 
● Não pode ser formatado, usa Date 
● Não...
java.time.LocalDate Java 8.0 
● Fácil de Usar 
● Design fluente 
● Imutável, thread-safe 
● ISO 8601 – Formato: ANO-MES-DI...
// qual foi o dia da semana do último 
natal?
// qual foi o dia da semana do último 
natal?
// trabalhando com períodos
// o que mais? 
● Cálculos com datas e horas 
● Nível de nanosegundos 
● Fuso horário 
● Comparação (isAfter, isBefore, is...
3. Default Methods e 
Functional Interfaces
Default Methods 
…
Default Methods 
…
Default Methods
Default Methods
Default Methods
Functional Interfaces 
… 
etc...
4. O que são Lambdas?
Classe anônima
Classe anônima
Lambdas!
Lambdas!
Lambdas!
Lambdas!
Lambdas!
Lambdas! Outros exemplos
5. Method Reference
Method Reference
Method Reference
6. Streams
Streams
Streams
Streams
Streams
Para saber mais
Obrigado! =) 
Meu blog: rsaraiva.com 
Meu twitter: @rubenssaraiva
Conhecendo o Java 8
Conhecendo o Java 8
Próximos SlideShares
Carregando em…5
×

Conhecendo o Java 8

658 visualizações

Publicada em

A nova versão do Java está cheia de novidades que valem a pena conhecermos. Nesta palestra, conversaremos sobre as novas APIs de Data Hora e Stream, e veremos as principais mudanças que deixaram a linguagem mais fluente, dinâmica e poderosa.

Publicada em: Software
1 comentário
12 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
658
No SlideShare
0
A partir de incorporações
0
Número de incorporações
46
Ações
Compartilhamentos
0
Downloads
8
Comentários
1
Gostaram
12
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Conhecendo o Java 8

  1. 1. Java 8 Conhecendo as principais novidades
  2. 2. Quem sou eu
  3. 3. Agenda 1. Como o Java evolui? 2. A nova API de Data e Hora 3. Default Methods e Functional Interfaces 4. O que são Lambdas? 5. Method Reference 6. Streams
  4. 4. 1. Como o Java evolui?
  5. 5. Java SE Java EE ● Linguagem Java ● Compilador ● Máquina Virtual ● Bibliotecas padronizadas ● Servidor de Aplicação
  6. 6. Especificação Implementação ● JCP - Process ● JSR 337 - Spec ● Especificação de Referência ● Expert Group e Contribuidores ● Implementações de fornecedores ● Precisam seguir o padrão ● Liberdade para implementar
  7. 7. Especificação Implementação JPA Hibernate, Eclipse Link ... JSF Servidor Java EE JVM Mojarra, MyFaces ... Wild Fly, Glassfish, TomEE OpenJDK, HotSpot, JRockit
  8. 8. 2. A nova API de Data e Hora
  9. 9. java.util.Date Java 1.0 ● Que 12 se refere ao ano, mês ou dia? ● Mês 12 não é dezembro, é janeiro! ● Ano 12 não é ano 12, é 1913! ● Há um horário na data? ● Que timezone é esse?
  10. 10. java.util.Calendar Java 1.1 … ● Mutável e não thread-safe ● Bastante verboso ● Não pode ser formatado, usa Date ● Não pode ser criado a partir de um Date ● Possui bugs e problemas de performance
  11. 11. java.time.LocalDate Java 8.0 ● Fácil de Usar ● Design fluente ● Imutável, thread-safe ● ISO 8601 – Formato: ANO-MES-DIA ● Dezembro é 12!
  12. 12. // qual foi o dia da semana do último natal?
  13. 13. // qual foi o dia da semana do último natal?
  14. 14. // trabalhando com períodos
  15. 15. // o que mais? ● Cálculos com datas e horas ● Nível de nanosegundos ● Fuso horário ● Comparação (isAfter, isBefore, isEqual) ● Duração ● Formatação simples ● Interoperações com Date e Calendar
  16. 16. 3. Default Methods e Functional Interfaces
  17. 17. Default Methods …
  18. 18. Default Methods …
  19. 19. Default Methods
  20. 20. Default Methods
  21. 21. Default Methods
  22. 22. Functional Interfaces … etc...
  23. 23. 4. O que são Lambdas?
  24. 24. Classe anônima
  25. 25. Classe anônima
  26. 26. Lambdas!
  27. 27. Lambdas!
  28. 28. Lambdas!
  29. 29. Lambdas!
  30. 30. Lambdas!
  31. 31. Lambdas! Outros exemplos
  32. 32. 5. Method Reference
  33. 33. Method Reference
  34. 34. Method Reference
  35. 35. 6. Streams
  36. 36. Streams
  37. 37. Streams
  38. 38. Streams
  39. 39. Streams
  40. 40. Para saber mais
  41. 41. Obrigado! =) Meu blog: rsaraiva.com Meu twitter: @rubenssaraiva

×