Tomorrow Java
novidades, tendências e espectativas




                     Rafael Carneiro e Silveira Neto
agenda

         ●   java 7
         ●   java EE 6
         ●   cadeia alimentar
         ●   javaFX
fork/join framework

class Fibo extends RecursiveTask<Integer>{
    final int n;
    public Fibo(int n){this.n=n;}
    protected Integer compute(){
        if(n<=1) return n;
        Fibo f1 = new Fibo(n-1); f1.fork();
        Fibo f2 = new Fibo(n-2);
        return f2.compute() + f1.join();
    }
}
uso

public class Main {
    public static void Main(String args[]){
        ForkJoinPool pool = new ForkJoinPool(3);
        Fibo fibonacci = new Fibo(20);
        pool.execute(fibonacci);
        System.out.println(fibonacci.join());
    }
}
exception handling


try {
    /// ...
} catch (Exception1 e1, Exception2 e2) {
    // ...
} catch (Exception3 e3) {
    // ...
}
case switch


String s = ...
switch(s){
    case “dog”: ...
    break;
    case “cat”:    ...
    break;
    default: ...
    break;
}
type inference


Antes:
Map<String, Integer> map = new HashMap<String,
  Integer>();


Agora:
Map<String, Integer> map = new HashMap<>();
outras novidades


●   Modularização
●   Nova coleta de lixo (G1).
●   Ponteiros de 64 bits comprimidos.
●   InvokeDynamic
mas não


●   Closures
●   Generics refinados
●   Sobrecarga de operador
●   Sintaxe BigDecimal
●   Suporte a XML a nível de linguagem
Java EE 6


●   Contexts and Dependency Injection for Java
    (Web Beans 1.0)
●   Java Servlet 3.0
●   JavaServer Faces 2.0
●   Enterprise JavaBeans 3.1
●   Java Persistence 2.0
@Stateless @Entity @WebServlet(urlPatterns = "/monster")
   @Table(name = "MONSTERTABLE")
   @NamedQueries({@NamedQuery(name = "MonsterEJB...
   @PersistenceContext(name = "monster..."
   public class MonsterServlet extends
     HttpServlel{ @Id @GeneratedValue
      (strategy = ... private int monsterId;
   @Max(2) @NotNull private String name;
   @Transient @EJB MonsterServlet monsterEJB;




Por Ludovic Champenois, http://weblogs.java.net/blog/ludo/archive/2009/05/worst_ever_java.html
cadeia alimentar




     VMWare           Oracle



Sun Microsystems
                   Spring Source
VMWare compra SpringSource
Tomorrow Java
Oracle compra Sun Microsystems
JavaFX
Prós
Contras
Imagens
●   Jeff Kubina, “Coffe Beans”
     –   http://www.flickr.com/photos/kubina/1469914113/
●   Jeff Kubina, “Coffe Bean”
     –   http://www.flickr.com/photos/kubina/1470771024/
●   Marcelo Alves, “Coffee”
     –   http://www.flickr.com/photos/xfer/4124684
●   Sjdunphy, “The Roscommon Spaghetti Incident”
     –   http://www.flickr.com/photos/sjdunphy/531657318/
●   Joh Hason, “fish soup”
     –   http://www.flickr.com/photos/jonhanson/56968305/
●   Skalas2 “axis n allies world in war”
     –   http://www.flickr.com/photos/skalasinc/356616846/
●   Alexkerhead, “Cameras and Misc in the Case”
     –   http://www.flickr.com/photos/alexkerhead/3088082405/
mais
●   Edans, “La escalera del Hotel Velázquez”
     –   http://www.flickr.com/photos/edans/499371992/
●   E's “coffee break”
     –   http://www.flickr.com/photos/e-ta-i/6148059/
●   AnantaB “2008, New Year Fireworks”
     –   http://www.flickr.com/photos/anantablamichhane/2152606721/
●   Clearly Ambiguous, “Fireworks”
     –   http://www.flickr.com/photos/clearlyambiguous/183629188/
●   Vidalia_11, “Texture - cracked paint”
     –   http://www.flickr.com/photos/56832361@N00/2476826198/
●   BigTallGuy, “Fun @ 10mm”
     –   http://www.flickr.com/photos/bigtallguy/2492489993/
algumas referências
●   JDK7 Features
     –   http://openjdk.java.net/projects/jdk7/features/
●   Deep Dive: JDK 7 With Danny Coward
     –   http://java.sun.com/developer/media/deepdivejdk7.jsp
●   SpringSource: Chapter Two
     –   http://blog.springsource.com/2009/08/10/springsource-chapter-two/
●   New features of java7SE presentation
     –   http://www.slideshare.net/dogangoko/new-features-of-java7-se-presentation
●   What's Expected in Java 7
     –   http://www.slideshare.net/gal.marder/whats-expected-in-java-7-1116123
valeu!




slides em http://silveiraneto.net

More Related Content

PDF
Всеволод Струкчинский: Node.js
PPTX
PPTX
Java 7 + 8 new features
PDF
JavaScript patterns
PDF
devday2012
PDF
"let ECMAScript = 6"
PPT
Unbounded
PPS
Unbounded
Всеволод Струкчинский: Node.js
Java 7 + 8 new features
JavaScript patterns
devday2012
"let ECMAScript = 6"
Unbounded
Unbounded

What's hot (15)

PDF
NodeJS "Web en tiempo real"
PDF
JavaScript and AJAX
PDF
Spark手把手:[e2-spk-s01]
PDF
[HITB Malaysia 2011] Exploit Automation
PDF
Understanding Source Code Differences by Separating Refactoring Effects
PDF
[Kiwicon 2011] Post Memory Corruption Memory Analysis
PDF
Spark手把手:[e2-spk-s02]
PDF
Spark手把手:[e2-spk-s03]
PDF
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
PPTX
Expression Language 3.0
PDF
PuppetConf 2016: Deconfiguration Management: Making Puppet Clean Up Its Own M...
PDF
Building a maintainable Reactiflux application
PDF
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
PDF
Ecossistema Ruby - versão SCTI UNF 2013
ODP
Threejs使ってみた
NodeJS "Web en tiempo real"
JavaScript and AJAX
Spark手把手:[e2-spk-s01]
[HITB Malaysia 2011] Exploit Automation
Understanding Source Code Differences by Separating Refactoring Effects
[Kiwicon 2011] Post Memory Corruption Memory Analysis
Spark手把手:[e2-spk-s02]
Spark手把手:[e2-spk-s03]
exploit-writing-tutorial-part-5-how-debugger-modules-plugins-can-speed-up-bas...
Expression Language 3.0
PuppetConf 2016: Deconfiguration Management: Making Puppet Clean Up Its Own M...
Building a maintainable Reactiflux application
Android2.x/3.x/4.x向けアプリ開発で気付いたこと
Ecossistema Ruby - versão SCTI UNF 2013
Threejs使ってみた
Ad

Viewers also liked (8)

ODP
Android - visão geral
PPT
An Introduction to NV_path_rendering
ODP
SVG como exemplo de XML
PDF
Gráficos Vetoriais na Web com SVG
ODP
JavaFX Primeiros Passos
PPT
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
PPT
CS 354 Vector Graphics & Path Rendering
Android - visão geral
An Introduction to NV_path_rendering
SVG como exemplo de XML
Gráficos Vetoriais na Web com SVG
JavaFX Primeiros Passos
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
CS 354 Vector Graphics & Path Rendering
Ad

Similar to Tomorrow Java (20)

PPTX
JavaOne 2011 Recap
PDF
Powering the Next Generation Services with Java Platform - Spark IT 2010
PDF
De Java 8 ate Java 14
PDF
New Features of Java7 SE
PDF
Whats New In Java Ee 6
PDF
Java EE 6 workshop at Dallas Tech Fest 2011
PDF
Jakarta EE Recipes
PDF
Java Persistence 2.0
PDF
Java EE 7 Soup to Nuts at JavaOne 2014
PDF
The State of Java under Oracle at JCertif 2011
PDF
JUG Berlin Brandenburg: What's new in Java EE 7?
PDF
Beginning java ee_7
PPTX
Java7 Features
PDF
Java EE 6 Aquarium Paris
PDF
Understanding
PDF
Using the latest Java Persistence API 2.0 features
PDF
Andrei Niculae - JavaEE6 - 24mai2011
PDF
Rapid Application Development with Cocoon
PDF
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
PDF
S313557 java ee_programming_model_explained_dochez
JavaOne 2011 Recap
Powering the Next Generation Services with Java Platform - Spark IT 2010
De Java 8 ate Java 14
New Features of Java7 SE
Whats New In Java Ee 6
Java EE 6 workshop at Dallas Tech Fest 2011
Jakarta EE Recipes
Java Persistence 2.0
Java EE 7 Soup to Nuts at JavaOne 2014
The State of Java under Oracle at JCertif 2011
JUG Berlin Brandenburg: What's new in Java EE 7?
Beginning java ee_7
Java7 Features
Java EE 6 Aquarium Paris
Understanding
Using the latest Java Persistence API 2.0 features
Andrei Niculae - JavaEE6 - 24mai2011
Rapid Application Development with Cocoon
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
S313557 java ee_programming_model_explained_dochez

More from José Maria Silveira Neto (16)

ODP
Desenvolvimento de Aplicações
PDF
Apresentando o CEJUG e o poder do Java
ODP
Let's talk about Certifications
PDF
JavaFX Overview
ODP
NetBeans: a IDE que você precisa
ODP
OpenSolaris a Céu Aberto
ODP
JavaFX introduction
PDF
Database Technologies for Semantic Web
ODP
High-Performance Computing and OpenSolaris
PPT
Questões de Certificação SCJP
PDF
Microformatos em 10 minutos
PDF
Participation Era, Sun and You
ODP
Let's talk about certification: SCJA
PDF
Uma Olhada no Netbeans 6
PDF
Real World Technologies
PDF
Novidades no Netbeans 6
Desenvolvimento de Aplicações
Apresentando o CEJUG e o poder do Java
Let's talk about Certifications
JavaFX Overview
NetBeans: a IDE que você precisa
OpenSolaris a Céu Aberto
JavaFX introduction
Database Technologies for Semantic Web
High-Performance Computing and OpenSolaris
Questões de Certificação SCJP
Microformatos em 10 minutos
Participation Era, Sun and You
Let's talk about certification: SCJA
Uma Olhada no Netbeans 6
Real World Technologies
Novidades no Netbeans 6

Recently uploaded (20)

PPTX
Slides World Game (s) Great Redesign Eco Economic Epochs.pptx
PDF
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
PDF
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
PDF
State of AI in Business 2025 - MIT NANDA
PDF
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
PPTX
CRM(Customer Relationship Managmnet) Presentation
PDF
Human Computer Interaction Miterm Lesson
PDF
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
PPTX
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
PPTX
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
PPTX
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
PDF
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
PDF
Peak of Data & AI Encore: Scalable Design & Infrastructure
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PDF
ment.tech-How to Develop an AI Agent Healthcare App like Sully AI (1).pdf
PPTX
maintenance powerrpoint for adaprive and preventive
PDF
Introduction to c language from lecture slides
PDF
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
PDF
Gestión Unificada de los Riegos Externos
PPTX
Blending method and technology for hydrogen.pptx
Slides World Game (s) Great Redesign Eco Economic Epochs.pptx
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
State of AI in Business 2025 - MIT NANDA
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
CRM(Customer Relationship Managmnet) Presentation
Human Computer Interaction Miterm Lesson
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
Peak of Data & AI Encore: Scalable Design & Infrastructure
Domain-specific knowledge and context in large language models: challenges, c...
ment.tech-How to Develop an AI Agent Healthcare App like Sully AI (1).pdf
maintenance powerrpoint for adaprive and preventive
Introduction to c language from lecture slides
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
Gestión Unificada de los Riegos Externos
Blending method and technology for hydrogen.pptx

Tomorrow Java

  • 1. Tomorrow Java novidades, tendências e espectativas Rafael Carneiro e Silveira Neto
  • 2. agenda ● java 7 ● java EE 6 ● cadeia alimentar ● javaFX
  • 3. fork/join framework class Fibo extends RecursiveTask<Integer>{ final int n; public Fibo(int n){this.n=n;} protected Integer compute(){ if(n<=1) return n; Fibo f1 = new Fibo(n-1); f1.fork(); Fibo f2 = new Fibo(n-2); return f2.compute() + f1.join(); } }
  • 4. uso public class Main { public static void Main(String args[]){ ForkJoinPool pool = new ForkJoinPool(3); Fibo fibonacci = new Fibo(20); pool.execute(fibonacci); System.out.println(fibonacci.join()); } }
  • 5. exception handling try { /// ... } catch (Exception1 e1, Exception2 e2) { // ... } catch (Exception3 e3) { // ... }
  • 6. case switch String s = ... switch(s){ case “dog”: ... break; case “cat”: ... break; default: ... break; }
  • 7. type inference Antes: Map<String, Integer> map = new HashMap<String, Integer>(); Agora: Map<String, Integer> map = new HashMap<>();
  • 8. outras novidades ● Modularização ● Nova coleta de lixo (G1). ● Ponteiros de 64 bits comprimidos. ● InvokeDynamic
  • 9. mas não ● Closures ● Generics refinados ● Sobrecarga de operador ● Sintaxe BigDecimal ● Suporte a XML a nível de linguagem
  • 10. Java EE 6 ● Contexts and Dependency Injection for Java (Web Beans 1.0) ● Java Servlet 3.0 ● JavaServer Faces 2.0 ● Enterprise JavaBeans 3.1 ● Java Persistence 2.0
  • 11. @Stateless @Entity @WebServlet(urlPatterns = "/monster") @Table(name = "MONSTERTABLE") @NamedQueries({@NamedQuery(name = "MonsterEJB... @PersistenceContext(name = "monster..." public class MonsterServlet extends HttpServlel{ @Id @GeneratedValue (strategy = ... private int monsterId; @Max(2) @NotNull private String name; @Transient @EJB MonsterServlet monsterEJB; Por Ludovic Champenois, http://weblogs.java.net/blog/ludo/archive/2009/05/worst_ever_java.html
  • 12. cadeia alimentar VMWare Oracle Sun Microsystems Spring Source
  • 15. Oracle compra Sun Microsystems
  • 17. Prós
  • 19. Imagens ● Jeff Kubina, “Coffe Beans” – http://www.flickr.com/photos/kubina/1469914113/ ● Jeff Kubina, “Coffe Bean” – http://www.flickr.com/photos/kubina/1470771024/ ● Marcelo Alves, “Coffee” – http://www.flickr.com/photos/xfer/4124684 ● Sjdunphy, “The Roscommon Spaghetti Incident” – http://www.flickr.com/photos/sjdunphy/531657318/ ● Joh Hason, “fish soup” – http://www.flickr.com/photos/jonhanson/56968305/ ● Skalas2 “axis n allies world in war” – http://www.flickr.com/photos/skalasinc/356616846/ ● Alexkerhead, “Cameras and Misc in the Case” – http://www.flickr.com/photos/alexkerhead/3088082405/
  • 20. mais ● Edans, “La escalera del Hotel Velázquez” – http://www.flickr.com/photos/edans/499371992/ ● E's “coffee break” – http://www.flickr.com/photos/e-ta-i/6148059/ ● AnantaB “2008, New Year Fireworks” – http://www.flickr.com/photos/anantablamichhane/2152606721/ ● Clearly Ambiguous, “Fireworks” – http://www.flickr.com/photos/clearlyambiguous/183629188/ ● Vidalia_11, “Texture - cracked paint” – http://www.flickr.com/photos/56832361@N00/2476826198/ ● BigTallGuy, “Fun @ 10mm” – http://www.flickr.com/photos/bigtallguy/2492489993/
  • 21. algumas referências ● JDK7 Features – http://openjdk.java.net/projects/jdk7/features/ ● Deep Dive: JDK 7 With Danny Coward – http://java.sun.com/developer/media/deepdivejdk7.jsp ● SpringSource: Chapter Two – http://blog.springsource.com/2009/08/10/springsource-chapter-two/ ● New features of java7SE presentation – http://www.slideshare.net/dogangoko/new-features-of-java7-se-presentation ● What's Expected in Java 7 – http://www.slideshare.net/gal.marder/whats-expected-in-java-7-1116123