The following is intended to outline our general product direction. It is intended for informational 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.
2
2
<Insert Picture Here>
Java SE Update
Adam Messinger
VP Engineering
Java Platform Group
• Oracle and Java SE
• OpenJDK
• JDK and JVM roadmap
• Community Participation
4
4
• Oracle JDK and JRE continue as free downloads
– Based on OpenJDK with additional components
• 3 rd party code that was replaced in OpenJDK
• Further components from Oracle
– Example: Java browser plugin
– Licensed under Binary Code License
• Gratis, but not open source
• Oracle plans to continue to provide enterprise grade support for a fee (à la Java for Business)
• Oracle will continue to provide Oracle JDK and JRE to source licensees (commercial and non-commercial)
5
5
• Oracle remains committed to OpenJDK
– the best open source Java implementation
– Oracle JDK is built on OpenJDK source code
– Oracle will continue to improve OpenJDK
• Oracle continues to welcome external contributors
– Companies, researchers, individuals, and more!
• Oracle plans JDK 7 & JDK 8 based on OpenJDK
– Planned for 2011 and 2012, respectively
• Oracle plans to continue to provide OpenJDK 6
– In collaboration with the OpenJDK Community
– With Java SE 6 TCK access under OCTLA
• Oracle has no plans to change licensing of OpenJDK
6
6
• InvokeDynamic byte code + supporting features
– Multi-lang support, Rhino performance work
• Concurrency and Collections APIs
– Improved multi-threaded Java code
• Small Language Enhancements (Project ”Coin”)
– Some parts to be pulled into JDK 7
• SDP and SCTP Support
– Telco/Financial/HPC
• New I/O APIs
– Filesystem, async I/O
– Improved performance, interoperability with OSes
• JVM Improvements
– Performance and serviceability (from JRockit)
7
7
• Lambda Expressions (”Closures”)
• Multi-Core, Developer Productivity
• Enables parallelization of library and user code
• Small Language Enhancements (Project ”Coin”)
• Developer Productivity
• Enables cleaner, more concise Java code
• Annotations enhancements for Java EE etc
• (Anything not going into JDK 7)
• Modules
• Focus on Java SE developers
• Support required Java EE container features
• Coarse-grained Java API modularity – reduce download size
• JVM Improvements
• Start-up time and ergonomics improvements
8
8
• Fully modularize JDK
– Allows subsetting for different target deployments
– Examples: Embedded, Headless, Light-weight Client
• Better integration
– Hardware devices, OSes
– Candidates: Location, Payment APIs
• Interoperability
– With native, non-Java languages
• Multi-core
– Parallelized APIs for bulk data processing etc
– Improved development, diagnostic and profiling tools
• Hardware trends
– Leverage HW profiling in SPARC, upcoming Intel chips
• Data bindings
– Simpler, more consistent access over different data sources such as databases, caches and XML
9
9
• As of the Sun acquisition, Oracle has two mainstream JVMs
• HotSpot - Versatile, Market share leader, High quality and performance
• JRockit - Specialized - Focus on Serviceability, server-side performance and the Oracle stack. Base of value-adds like
JRMC, JRRT and JRVE
• Converged JVM Strategy
• Merge into one codebase with the best of both worlds
• Converged JVM will be open sourced through OpenJDK
• Premium JRMC, JRRT and JRVE features will remain closed source
• Oracle committed to continued investment
• The HotSpot and JRockit teams have been merged and started working on the converged JVM.
10
10
• Converged JVM 2011 (JDK7 or later)
• Enhanced management agent (from JRockit)
• Enhanced JVM MBean(s) (from JRockit)
• Improved startup time
• Converged JVM 2012
• Extensible Permgen
• Improved JVM logging (from JRockit)
• Native memory usage tracking
• Enhanced runtime JVM controls
• “All” performance enhancements from JRockit
• Further startup time improvements
• …and much more
11
11
What do you think about the proposed JDK 7/8 division?
What do you think about the proposed JVM convergence plan?
How should we collect and prioritize feature requests from the community? Highest #votes? Merit?
We want to make our priorities and progress transparent. How should we do that?
12
12
13
13