Post on 31-May-2015
description
Show me the Code – 19/09/2009
Inovações na Plataforma Java
• Filipe Portes• Graduando em ciências da computação• Vasta experiência em desenvolvimento Web e
corporativo• Atualmente atua como arquiteto de software e
desenvolvedor sênior na empresa JFelipe Solutions
Apresentação
• Sun + Oracle = ?• Java 7• J2EE 6• javaFx 1.2
Principais novidades da plataforma Java
Sun + Oracle
JDK – Java Development Kit 7
Java 7
• Declaração de Generics– Map<String, List<BigDecimal>> numberMap = new
TreeMap<Map<String, List<BigDecimal>>();
• diamond notation– Map<String, List<BigDecimal>> numberMap = new TreeMap<>();
Java 7 – Algumas novidades confirmadas
• Criação de Collections– List<Integer> powersOf2 = new ArrayList<Integer>();
powersOf2.add(1);powersOf2.add(2);
– Map<String, Integer> ages = new HashMap<String, Integer>();ages.put("John" , 35);ages.put( "Mary" , 28);
• collection literals– List<Integer> powersOf2 = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};– Map<String, Integer> ages = {"John" : 35, "Mary" : 28, "Steve" : 42};
Java 7 – Algumas novidades confirmadas
• Gerenciamento de Recursos– static String readFirstLineFromFile(String path) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(path)); try {
return br.readLine(); } finally {
br.close(); }
}
• proposal for automatic resource management– static String readFirstLineFromFile2(String path) throws IOException {
try (BufferedReader reader = new BufferedReader(new FileReader(path)) { return reader.readLine();
}}
Java 7 – Algumas novidades confirmadas
• binary integer literals
– Summary: In addition to the existing "1" (decimal), "01" (octal) and "0x1" (hexadecimal) form of specifying numeric literals, a new form "0b1" (binary) would be added.
// An 8-bit 'byte' literal. byte aByte = (byte)0b00100001;
// A 16-bit 'short' literal. short aShort = (short)0b1010000101000101;
// Some 32-bit 'int' literals. int anInt1 = 0b10100001010001011010000101000101; int anInt2 = 0b101; int anInt3 = 0B101;
// The B can be upper or lower case as per the x in "0x45".
// A 64-bit 'long' literal. Note the "L" suffix, as would also be used // for a long in decimal, hexadecimal, or octal.
long aLong = 0b01010000101000101101000010100010110100001010001011010000101000101L;
Java 7 – Algumas novidades confirmadas
• String literals in switch statements.
String s = ... switch(s) {
case "quux": processQuux(s); // fall-through
case "foo": case "bar":
processFooOrBar(s); break;
case "baz": processBaz(s); // fall-through
default: processDefault(s); break;
}
Java 7 – Algumas novidades confirmadas
• Mais informações a respeito da jdk 7 em:
– http://openjdk.java.net/projects/coin/– http://blogs.sun.com/darcy/entry/project_coin_final_five
Java 7 – Algumas novidades confirmadas
JEE – Java Enterprise Edition 6
JEE 6
• Servlet 3.0 (JSR 315)– Configurações através de Annotations – Servlets Assíncronos
• JSF 2.0 (JSR 314)– Suporte nativo a ajax– Componentes compostos
• EJB 3.1 (JSR 318)– Session Beans Assíncronos– EJB lite API– Objetos Singleton
• Java Persistence API (JPA) 2.0 (JSR 317)– Modelagem mais flexível– Novas formas de mapeamento O/R, novas annotations– Java Persistence Query Language mais poderosa– Criteria API– Suporte a Validação– Reference Implementation (RI) da especificação é o projeto EclipseLink
que tem como base o antigo projeto TopLink da Oracle.
JEE 6 – Principais Novidades
• Context Dependency Injection for Java EE (JSR 299)– existe a implementação JBoss Seam– modelo de gerenciamento de dependências – suporte a objetos stateFull– integração da camada web com a camada transacional– Facilidade para construir aplicações utilizando EJB e JSF juntos– frameworks terceiros poderão facilmente integrar-se a API.
• Implementação de referencia JEE 6– GlassFish V3– https://glassfish.dev.java.net/
JEE 6 – Principais Novidades
http://www.javafx.com/
• Novidades na versão 1.2– Melhorias no desempenho– Novos componentes– Operações assíncronas– Componentes para criação de Gráficos– Integração com ferramentas de design (photoShop CS4 ,ilustrator CS4)
• Write Once, Run anywhere!– Escreva uma vez, execute em qualquer lugar!– Browser– Java Web Start– Desktop– Mobile– Tv Digital– Possibilidade de arrastar um aplicação do browser para o desktop
JavaFx 1.2 – Aplicações ricas java
Mais Novidades
O mais novo lançamento, revelado aqui com exclusividade!!!
Mais Novidades
• 6º FGSL – Forum Goiano de Software Livre– 02 e 03 de Outubro no Senai Fatesg
Mais Novidades