- Introdução do Instrutor
- Download Material
- Dicas Gerais
- Montagem do ambiente
- Introdução
- Aula 1
- Aula 2
- Aula 3
- Aula 4
- Aula 5
- Aula 6
- Aula 7
- Aula 8
- Aula 9
- Aula 10
- Aula Bônus
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

Entusiasta de Agile, XP, TDD, Hexagonal Architecture, Groovy e Flutter. Graduado e pós graduado em engenharia de software, Certified ScrumMaster®, Certified XML, DOM, XSLT, HTML, XHTML, CSS, JavaScript e HTML W3School® Developer, Java Sun Microsystems® SCJA, SCJP, SCJD, SCBCD, SCMAD, SCWCD e arquiteto oficial Oracle® OCMJEA, com mais outras 20 certificações internacionais diversas, mais de 21 anos de experiência com a plataforma Java, applicatons servers, elaboração de arquiteturas, projetos back-end, soluções web, desktop, native mobile, web mobile, integrações de soluções usando rest, soap, microservices e message oriented middleware, utilizando produtos proprietários Java, produtos JCP, Jakarta EE e produtos Spring framework. Instrutor e consultor Java com mais de 3 mil horas em treinamento e consultorias presenciais e mais de 30 mil alunos EAD na Udemy.
Entusiasta de renda variável, nas horas vagas estuda o mercado de ações, price action, análise técnica e administra carteira de investimento pessoal, atuando com swing e position trade.