Upload
software-guru
View
1.306
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica
Java SE and EE: The platform evolution, and what it means to you
Gustavo Garnica
Middleware Architect
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.
4
What does Java 7 (and 8) mean to you?
• IT professional
• Non-Java Developer
• Java SE Developer
• Java EE Developer
• Oracle
5
IT professional
6
http://commons.wikimedia.org/wiki/File:Alexander_cuts_the_Gordian_Knot.jpg
7
8
Non-Java Developer
9
JSR 292
• Invokedynamic
10
Java Developer
11
Project Coin – JSR 334
http://www.flickr.com/photos/chefranden/908539119/
12
Coin (1) Strings in switch
String s = ...
switch(s) {
case "foo":
processFoo(s);
break;
}
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
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);
}
15
Coin (4) Diamond operator
Map<String,List<String>> m = new HashMap<String,List<String>>();
Map<String,List<String>> m = new HashMap<>();
16
Coin (5) Try with resources
try (AutoclosableResource) {
// Do stuff
}
// closed here
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)
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
19
Security
• Native ECC (Elliptic Curve Cryptography)
• ASLR (Address space layout randomization)
• DEP (Data Execution Prevention) – Windows Only
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
21
Other Enhancements
• JAXP 1.4.4
• JAXWS 2.2
• JAXB 2.2
• JDBC 4.1
• Rowset 1.1
• Javadoc support for stylesheets
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.
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.
24
Java EE Developer
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
26
Today’s Cloud Offerings Are Vendor-Specific
Infrastructure as
a Service
Platform as
a Service
…
Software as
a Service
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
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
29
Oracle
30
Oracle’s Java StrategyIn Order of Priority
1. A Vibrant Java Ecosystem
2. Generate Revenue.
3. Lower Costs
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
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
33
34