Conhecendo o Java 8

637 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
637
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

×