A apresentação discute as principais novidades da linguagem Java 8, incluindo métodos default, expressões lambda, referências de métodos e melhorias nas APIs de coleções e datas. Também aborda o futuro da linguagem com o lançamento do Java 9 e como a comunidade pode contribuir com o processo de padronização Java.
1. Java 8 e o futuro
Thiago Gonzaga
ZUP IT
@thiguetta
2. Quién soy jo?
• Bacharel em ciência da computação pela UNESP
• Desenvolvedor desde 2004, em Java desde 2007
• Evangelista Java, palestrante e entusiasta de
tecnologias livres e Open Source.
• Coordenador de Eventos do Grupo de Usuários
Java.
• Desenvolve Java na ZUP IT
3. Agenda
• 20 anos de Java
• Java como software livre.
• Por que Java?
• Métodos Default, classes anônimas e interfaces funcionais.
• Expressão Lambda e Method Reference
• Coleções e Streams
• Opcionais, API de Data e APIs Legadas da Sun.
• O que vem por ai: Java 9?
• JCP e como contribuir
• Faça o Java 9
4.
5. Java como SL
• Sun começou a liberar em 2006 (partes do código)
• 2007 Java tornou-se livre de fato.
• Oracle comprou a Sun em 2009.
• Comunidade ficou apreensiva.
• Oracle já informou que não irá fechar o código.
• Com ajuda da comunidade as últimas bibliotecas
ainda sob patente foram reimplementadas.
6. Por que Java?
• De acordo com o Lifehacker
• Java: One of the Most Practical Languages to
Learn
• "Once you've learned Java, you can learn
other OOP languages pretty easily"
• http://lifehacker.com/which-programming-
language-should-i-learn-first-1477153665
27. Java 9
• Data de lançamento: 22/09/2016
• JSON API leve (JEP 198)
• HTTP 2 e websockets (JEP 110)
• API de processos do sistema operacional (JEP 102)
• Melhoria de Locking de Monitores (JEP 143)
• Cache de código segmentado (JEP 197)
• Melhoria no processo de compilação (JEP 199)
• Modularização do código da JDK (JEP 201)
• Javadoc em HTML 5
28. JCP e como contribuir
• JCP - Java Community Process (jcp.org)
• Comitê que define os padrões de Java
• Composto pelas principais empresas de TI do mundo e
comunidade.
• Brasil tem uma cadeira cativa ocupada pelo SOUJAVA
• JSR - Java Specification Request
• Adote uma JSR (https://glassfish.java.net/adoptajsr)
• Adote a OpenJDK (https://java.net/projects/adoptopenjdk)