evolução plataforma java
TRANSCRIPT
Evolução Plataforma Java
Thiago Osório
Thiago Osório
• Bacharel em Ciência da Computação pela UFMT
• 2 anos de experiência em desenvolvimento Java Web
• Analista de Sistemas pela Totem TI
Agenda
• Evolução do Java: Principais releases
• Por que Lambda e Stream API ?
• Interfaces Funcionais
• Expressões Lambda
• Stream API
• Surgimento do Java
• Write once, run anywhere
Evolução da Plataforma
Principais releases
Java 8
• Extensão virtual
• Expressão Lambda
• Stream API
• API Data e Hora
• Nashhorn JavaScript Engine
Por que lambda e Stream API ?
• Evolução da linguagem
– Vossemecê Vosmecê Você VC...C
• Altere a posição dos elementos de uma lista de alunos de tal forma que a
idade do elemento seja maior do que a idade do elemento sucessor;
• Ordene a lista de alunos pela idade;
• “Ordenar”
Por que lambda e Stream API ?
• Expressões Lambda ajudam a eliminar códigos repetitivos
• Stream API permite o encadeamento de operações sobre conjuntos de elementos. Também permite o processamento paralelo ou sequencial em coleções
Interfaces Funcionais
• Interfaces com apenas um método
• Interface antiga, conceito novo
Expressões Lambda
• Resolver o problema ou resolver da melhor maneira ?
• Código correto garante a melhor abstração ?
Expressões Lambda • Abstração para Filtrar uma lista por um critério
Expressões Lambda
• Boa abstração garante um bom código ?
Expressões Lambda
• Compare
• Melhor abstração com melhor código!
Expressões Lambda
• Apenas “enxugar código” ?
– Utiliza Nashorn (API de JavaScript) parar tornar a execução mais eficiente
• Promoveu mudanças coordenadas na VM, compilador e APIs;
Stream API
• Paralelismo
– Grandes tarefas em subtarefas menores;
• Collection vs Stream
• Java.util.Stream
• Agregate Operation
– Filter, map, reduce, find
– Intermediate Operation
– Terminal Operation
Stream API
Stream API
• Encadeamento de operações
Dúvidas