Objetivos
Objetivo deste curso é levar o participante a um nível mais avançado na plataforma Java, oferecendo conhecimentos básicos e práticos nas novidades lançadas na versão do Java 8 que mudaram totalmente o paradigma e a forma de pensar na programação. A compreensão dos novos recursos e da filosofia da programação funcional lançada no Java 8 é de fundamental importância para que um desenvolvedor que pretende ampliar o seu leque de conhecimentos para a criação de aplicações mais robustas e bem escritas.
Conteúdo Programático
Introdução ao Java 8
Informações de lançamento
Novidades jdk 8
Default Method
O que é ?
Para que serve ?
Regras de sintaxe
Exercícios
Virtual Extension Methods
O que é ?
Para que serve ?
Exercícios
Pontos de melhorias
Herança Múltipla
O que é ?
Para que serve ?
Regras de sintaxe
Exercícios
Interface Static Method
O que é ?
Para que serve ?
Regras de sintaxe
Exercícios
Pontos de melhorias
Interfaces Funcionais
O que é ?
Para que serve ?
Regras de sintaxe
Exercícios
Programação Funcional
O que é ?
Para que serve ?
Pontos de melhorias
Paradigma de programação imperativo
Exercícios
Paradigma de programação declarativo
Exercícios
Comparação entre paradigma funcional versus imperativo
Java 8 é 100% funcional ?
Introdução ao Lambda: Padrão de Projeto Strategy
O que é ?
Para que serve ?
Benefícios
Exercícios
Lambda
O que é ?
Para que serve ?
Regras de sintaxe: em-linha
Exercícios
Regras de sintaxe: em-bloco
Exercícios
Regras de sintaxe: em-bloco tipada.
Exercícios
Referências funcionais
Exercícios
Loop Funcional forEach: List, Set e Map
Exercícios
Method References
O que é ?
Para que serve ?
Regras de sintaxe
Exercícios
Referências Opcionais
O velho e bom conhecido NullPointerExcetion
O que é ?
Para que serve ?
Métodos básicos da java.util.Optional
Exercícios
Stream API
O que é ?
Para que serve ?
O que é coletagem ? Para que serve ? Exercícios
O que é ordenação ? Para que serve ? Exercícios
O que é mapeamento? Para que serve ? Exercícios
O que é filtragem ? Para que serve ? Exercícios
O que é procura ? Para que serve ? Exercícios
O que é redução ? Para que serve ? Exercícios
Operações funcionais: Sum, Avarage, Max, Min e Count. Exercícios.
O que é paralelização ? Para que serve ? Exercícios
Dicas finais de programação funcional versus OOP
Date API
O que é ?
Para que serve ?
O que é LocalTime ? Para que serve ? Exercícios
O que é LocalDate ? Para que serve ? Exercícios
O que é LocalDateTime ? Para que serve ? Exercícios
Exercícios com formatações e comparações
O que é ajustadores de tempo? Para que serve ? Exercícios
Metaspace
O que é ?
Para que serve ?
Dicas Gerais
Projeto ThreeTen - Backport
Projeto RetroLambdas
Leituras Complementares
Indicação de livros