gustavo garnica: evolución de la plataforma java y lo que significa para ti
DESCRIPTION
TRANSCRIPT
![Page 1: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/1.jpg)
Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica
![Page 2: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/2.jpg)
Java SE and EE: The platform evolution, and what it means to you
Gustavo Garnica
Middleware Architect
![Page 3: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/3.jpg)
3
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any features
or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
![Page 4: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/4.jpg)
4
What does Java 7 (and 8) mean to you?
• IT professional
• Non-Java Developer
• Java SE Developer
• Java EE Developer
• Oracle
![Page 5: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/5.jpg)
5
IT professional
![Page 6: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/6.jpg)
6
http://commons.wikimedia.org/wiki/File:Alexander_cuts_the_Gordian_Knot.jpg
![Page 7: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/7.jpg)
7
![Page 8: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/8.jpg)
8
Non-Java Developer
![Page 9: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/9.jpg)
9
JSR 292
• Invokedynamic
![Page 10: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/10.jpg)
10
Java Developer
![Page 11: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/11.jpg)
11
Project Coin – JSR 334
http://www.flickr.com/photos/chefranden/908539119/
![Page 12: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/12.jpg)
12
Coin (1) Strings in switch
String s = ...
switch(s) {
case "foo":
processFoo(s);
break;
}
![Page 13: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/13.jpg)
13
Coin (2) Changes to literals
• 1234_5678
• 1_2_3_4__5_6_7_8L
• 0b0001_0010_0100_1000
• 3.141_592_653_589_793d
• 0x1.ffff_ffff_ffff_fP1_023 // Double.MAX_VALUE
![Page 14: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/14.jpg)
14
Coin (3) Multi Catch
try {
doWork(file);
} catch (IOException ex) {
logger.log(ex);
}
catch (SQLException ex) {
logger.log(ex);
}
try {
doWork(file);
} catch (IOException|SQLException
ex) { logger.log(ex);
}
![Page 15: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/15.jpg)
15
Coin (4) Diamond operator
Map<String,List<String>> m = new HashMap<String,List<String>>();
Map<String,List<String>> m = new HashMap<>();
![Page 16: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/16.jpg)
16
Coin (5) Try with resources
try (AutoclosableResource) {
// Do stuff
}
// closed here
![Page 17: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/17.jpg)
17
Concurrency and Collections Updates - JSR 166yLightweight Fork/Join Framework
1970 1975 1980 1985 1990 1995 2000 2005 2010
1
10
100
1,000
10,000
1,000,000
100,000
10,000,000
Clock (MHz)
Transistors (1,000s)
![Page 18: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/18.jpg)
18
Network and File System – JSR 203NIO.2
• NIO.2
• NIO.2 file system Provider for ZIP and JAR Archives
• SCTP (Stream Control Transmission Protocol)
• SDP (Sockets Direct Protocol)
• (New) Enhanced JMX agent and MBeans
![Page 19: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/19.jpg)
19
Security
• Native ECC (Elliptic Curve Cryptography)
• ASLR (Address space layout randomization)
• DEP (Data Execution Prevention) – Windows Only
![Page 20: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/20.jpg)
20
Internationalization
• Unicode 6.0
• IETF BCP47 and UTR35
– One language many character codes
– Three-letter base language codes
• Separate user locale and user interface locale
![Page 21: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/21.jpg)
21
Other Enhancements
• JAXP 1.4.4
• JAXWS 2.2
• JAXB 2.2
• JDBC 4.1
• Rowset 1.1
• Javadoc support for stylesheets
![Page 22: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/22.jpg)
22
JDK 7 Platform Support
• Windows x86– Server 2008, Server 2008 R2, 7 & 8 (when it GAs)
– Windows Vista, XP
• Linux x86– Oracle Linux 5.5+, 6.x
– Red Hat Enterprise Linux 5.5+, 6.x
– SuSE Linux Enterprise Server 10.x, 11.x
– Ubuntu Linux 10.04 LTS, 11.04
• Solaris x86/SPARC– Solaris 10.9+, 11.x
• Apple OSX x86– will be supported post-GA, detailed plan TBD
Note: JDK 7 should run on pretty much any Windows/Linux/Solaris.
![Page 23: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/23.jpg)
23
JDK 8 – Fall/Winter 2012
• Modularization
• Language and VM Support
• Platform Modularization
• Project Lambda
• Lambda Expressions
• Default Methods
• Bulk Data Operations
• Annotations on Java types (JSR 308)
• More Small Language Enhancements
• Project Coin part 2
Features from “Plan B”
• Serialization fixes
• Multicast improvements
• Java APIs for accessing location, compass and other ”environmental” data (partially exists in ME)
• Improved language interop
• Faster startup/warmup
• Dependency injection (JSR 330)
• Include select enhancements from Google Guava
• Small Swing enhancements
• More security/crypto features, improved support for x.509-style certificates etc
• Internationalization: non-Gregorian calendars, more configurable sorting
• Date and Time (JSR 310)
• Process control API
Other Things On Oracle’s Wish List*
* Many of these will undoubtedly NOT make JDK 8.
![Page 24: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/24.jpg)
24
Java EE Developer
![Page 25: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/25.jpg)
25
The Cloud is Making Developers Restless
• Enterprise developers want cloud solutions from their own IT
– IT provides the SLA
– Developers want:
• Hosted cloud services
• On-demand provisioning
• Reliable scale
• Virtualization is a valuable tool
• Java EE has solved similar challenges for enterprises in the
past
![Page 26: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/26.jpg)
26
Today’s Cloud Offerings Are Vendor-Specific
Infrastructure as
a Service
Platform as
a Service
…
Software as
a Service
![Page 27: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/27.jpg)
27
Core Java EE7 specification work
• Leverage solid EE6 Uptake and Developer Reception
• EE7 Underway with Broad Industry Participation
– New Caching and Data Grid APIs
– New JMS Includes Simplified Programming Model and Cloud
Enablement
– Expanded REST Support with Client API, Filters, Validation
– Multi-Tenancy Awareness Across the Platform
– Dependency Injection More Integrated and Unified Across Java
EE
![Page 28: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/28.jpg)
28
Java EE for the Cloud : JSR 342
• Evolution, not revolution
• More easily operate on private/public clouds
– Multi-tenancy
– Elasticity
• Better isolation between applications
• Potential standard APIs for Caching, etc.
• Common management and monitoring interfaces
• Better packaging
![Page 29: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/29.jpg)
29
Oracle
![Page 30: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/30.jpg)
30
Oracle’s Java StrategyIn Order of Priority
1. A Vibrant Java Ecosystem
2. Generate Revenue.
3. Lower Costs
![Page 31: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/31.jpg)
31
JVM ConvergenceProject “HotRockit”
• Java SE 7 Support
• Rebranding
• No PermGen (stretch goal)
• Improved JMX Agent
• Command line servicability tool (jrcmd)
• JRockit Mission Control Console support
JDK 7 GA
= Premium Feature
• Performance
• Initial JRockit Flight Recorder Support
JDK 7 Update X
• Better performance
• Improved command line servicability (jrcmd)
• G1 complete as CMS replacement
• Non-contiguous heaps
• Complete JRockit Flight Recorder Support
• JRockit Virtual Edition Support
• Soft Real Time GC
JDK 7 Update Y
• Java SE 8 Support
• All performance features from JRockit ported
• I/O Performance
• JIT Optimizations
• All servicability features from JRockit ported
• Compiler controls
• Verbose logging
• JRockit Mission Control Memleak Tool Support
JDK 8 GA
![Page 32: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/32.jpg)
32
Get Involved!
• Participate in the OpenJDK Community
http://openjdk.java.net
• Become a member of the Oracle Technology
Network
http://oracle.com/OTN
• Join a Java User Group near you
http://java.net/jugs/java-user-groups
• Get involved with the Java Community Process
http://jcp.org
![Page 33: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/33.jpg)
33
![Page 34: Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti](https://reader034.vdocuments.net/reader034/viewer/2022051323/54847b86b47959f60c8b4c2d/html5/thumbnails/34.jpg)
34