evolução plataforma java

23
Evolução Plataforma Java Thiago Osório

Upload: totem-treinamentos

Post on 20-Jul-2015

154 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Evolução Plataforma Java

Evolução Plataforma Java

Thiago Osório

Page 2: Evolução Plataforma Java

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

Page 3: Evolução Plataforma Java

Agenda

• Evolução do Java: Principais releases

• Por que Lambda e Stream API ?

• Interfaces Funcionais

• Expressões Lambda

• Stream API

Page 4: Evolução Plataforma Java
Page 5: Evolução Plataforma Java

• Surgimento do Java

• Write once, run anywhere

Evolução da Plataforma

Page 6: Evolução Plataforma Java
Page 7: Evolução Plataforma Java

Principais releases

Page 8: Evolução Plataforma Java

Java 8

• Extensão virtual

• Expressão Lambda

• Stream API

• API Data e Hora

• Nashhorn JavaScript Engine

Page 9: Evolução Plataforma Java

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”

Page 10: Evolução Plataforma Java

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

Page 11: Evolução Plataforma Java
Page 12: Evolução Plataforma Java

Interfaces Funcionais

• Interfaces com apenas um método

• Interface antiga, conceito novo

Page 13: Evolução Plataforma Java

Expressões Lambda

• Resolver o problema ou resolver da melhor maneira ?

• Código correto garante a melhor abstração ?

Page 14: Evolução Plataforma Java

Expressões Lambda • Abstração para Filtrar uma lista por um critério

Page 15: Evolução Plataforma Java

Expressões Lambda

• Boa abstração garante um bom código ?

Page 16: Evolução Plataforma Java
Page 17: Evolução Plataforma Java

Expressões Lambda

• Compare

• Melhor abstração com melhor código!

Page 18: Evolução Plataforma Java

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;

Page 19: Evolução Plataforma Java

Stream API

• Paralelismo

– Grandes tarefas em subtarefas menores;

• Collection vs Stream

• Java.util.Stream

• Agregate Operation

– Filter, map, reduce, find

– Intermediate Operation

– Terminal Operation

Page 20: Evolução Plataforma Java

Stream API

Page 21: Evolução Plataforma Java

Stream API

• Encadeamento de operações

Page 22: Evolução Plataforma Java
Page 23: Evolução Plataforma Java

Dúvidas