Evolução Plataforma Java

Preview:

Citation preview

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

Recommended