making the future java -...
TRANSCRIPT
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1
Making the Future Java Henrik Ståhl, Sharat Chander Java Platform Group
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2
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.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 3
Java Strategy and Vision
§ JDK 7: Adoption strong among ISVs, hosting providers, developers
§ JDK 8/9: Lambda, JavaScript interop and JVM convergence in 8, Jigsaw in 9
§ JDK 9 and beyond: Generic language interop, GPU programming, enhancements for cloud
Java SE § Rich UI for tools, desktop
and embedded applications
§ Integration with Swing/SWT/HTML5 content
§ Enable App Stores and other bundled deployment models
§ Move away from browser plugin over time
JavaFX/Client § Move towards single
platform JSR § Subset of SE, merge
ME/SE tool and API ecosystems
§ Generic small footprint platform for small embedded devices
§ Enable Java in the Internet of Things
Java ME
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 4
The Java Platform Java SE and JavaFX
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 5
JDK 7 Java for Everyone • Unicode 6.0 • Locale enhancements • Separate user and user-
interface locales
Innovation • Invokedynamic • Small language
enhancements
Core Libraries • NIO.2 – file systems and
async I/O • Concurrency and collection
updates • SCTP and SDP support • JDBC 4.1 • IPv6 support on all platforms • Updated XML stack
Security • TLS 1.2 • Elliptic-curve cryptography • Strict class-file checking
Client • XRender pipeline for Java 2D • Swing Nimbus LoF • Swing JLayer component • Gervill sound synthesizer • JavaFX 2.0
• Pure Java API • FXML UI markup • RSS styling • Extensive set of UI
controls • Web integration
General Goodness • Class-loader updates • Initial JRockit/Hotspot
convergence
Tools • Enhanced MBeans
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 6
Updates to JDK 7 post-GA Security • Stricter security checks for applets • Configurable policy for browser plugin
Platform Support • JDK, JRE and JavaFX for Mac OS X • JavaFX for Linux/x86 • JDK for Linux/ARM • Solaris 11 • Windows 8 • Windows 2012
Client • Updated Java Access Bridge (improves
accessibility) • Numerous JavaFX updates
• Canvas, Color Picker, Pagination, HTTP Live Streaming, Touch, Image manipulation, H.264 and AAC, Combo Bar, WebView, …
Servicability • Diagnostic Commands • Enhanced JMX agent • Improved crash dumps • Java Mission Control
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 7
JDK 7 Supported Platforms
§ Solaris 10u9+ and 11 on x86 and SPARC § Windows Server 2008/2012, Vista/XP/7 on x86 § Oracle Linux 5.5+ and 6 on x86 § SuSE 10 SP2+ and 11+ on x86
§ Red Hat 5.5+ and 6 on x86 § Ubuntu 10.04, 11.04 and 12.04 on x86 § Ubuntu 11.10 on ARM
§ Mac OS X 10.7.3+ on x86
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 8
JDK 7 Supported Browsers
§ IE 7.x, 8.x and 9.x on Windows
§ Firefox 3.6 and above on all available platforms
§ Chrome on Windows
§ Safari on Mac OS X
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 9
Java SE 7 Uptake
0
50
100
150
200
250
7 7u1 7u2 7u3 7u4 7u5 7u6 7u7
Mill
ions
Oracle JRE 7 Downloads
Oracle JRE 7 Downloads
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 10
JavaFX Deployments
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 11
Mac App Store and OpenJFX
http://openjdk.java.net/projects/openjfx/
http://javafx-jira.kenai.com/secure/Dashboard.jspa
https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx
JavaFX technology holds a lot of promise and developing it in an open-source manner only makes it more so. We would like to contribute to this project just like we contribute to OpenJDK. -- Deepak Bhole, Red Hat,
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 12
JDK 8 Java for Everyone • Profiles for constrained devices • JSR 310 - Date & Time APIs • Non-Gregorian calendars • Unicode 6.1 • ResourceBundle. • BCP47 locale matching • Globalization & Accessibility
Innovation • Lambda aka Closures • Language Interop • Nashorn
Core Libraries • Parallel operations for core
collections APIs • Improvements in functionality • Improved type inference
Security • Limited doPrivilege • NSA Suite B algorithm support • SNI Server Side support • DSA updated to FIPS186-3 • AEAD JSSE CipherSuites
Tools • Compiler control & logging • JSR 308 - Annotations on
Java Type • Native app bundling • App Store Bundling tools
Client • Deployment enhancements • JavaFX 8 • Public UI Control API • Java SE Embedded support • Enhanced HTML5 support • 3D shapes and attributes • Printing
General Goodness • JVM enhancements • No PermGen limitations • Performance lmprovements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 13
To Java SE 9 and Beyond!
Jigsaw
Cloud
Ease of use Optimizations Generic Lang Interoperability
Penrose
OpenJFX Project Sumatra – Java for GPUs
Ports: Power PC/AIX
Multi-Tenancy Support
Self Tuning JVM
Improved Integration with Native
Resource Management Lang Enhancements
Unified Type System Data Structure Optimizations
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 14
JavaFX 2.3 and Beyond
Multi-Touch Scene Builder
Embedded
Performance
Rich Text 3D Snapshot i18n
Printing
Accessibility 3rd Party Controls
for Linux
ARM
Complex Text
SwingNode
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 15
Roadmap Java SE
2015 2012 2013 2014
7u6 • JRE on Mac complete • JavaFX 2.2 integration • Linux ARM V6/V7 • JavaFX on Mac • JavaFX on Linux
JDK 8 • Lambda • JVM Convergence • JavaScript Interop • JavaFX 8
– Public UI Control API – Java SE Embedded support – Enhanced HTML5 support
NetBeans IDE 7.2 • Support for JDK 7 on Mac • Support for JavaFX on Mac
and Linux
Scene Builder 1.0 • Windows and Mac
7uX • Java Flight Recorder in JDK • Native memory tracking • Java Discovery Protocol • App Store Packaging tools • Last Public Release of JDK 6
JDK 9 • Jigsaw • Interoperability • Optimizations • Cloud • Ease of Use • JavaFX JSR
NetBeans IDE 7.3 • Scene Builder 1.1 support
Scene Builder 1.1 • Linux support
NetBeans IDE 8 • JDK 8 support • Scene Builder 2.0 support
Scene Builder 2.0 • JavaFX 8 support • Enhanced Java IDE support
NetBeans IDE 9 • JDK 9 support • Scene Builder 3.0 support
SceneBuilder 3.0 • JavaFX 9 support
7u10 • Client Security
Enhancements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 16
Support Timeline * Major Version
GA End of Public Updates
Java SE Support
Premier Extended Sustaining
1.4 Feb 2002 Oct 2008 Feb 2010 Feb 2013 Indefinite
1.5 May 2004 Oct 2009 May 2011 May 2014 Indefinite
6 Dec 2006 Feb 2013 Dec 2013 Dec 2016 Indefinite
7 July 2011 Sept 2014** July 2016 July 2019 Indefinite
8** Sept 2013** Sept 2016** Sept 2018** Sept 2021** Indefinite
* Source: http://www.oracle.com/technetwork/java/eol-135779.html ** Tentative
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 17
Introducing: Java SE Commercial Products Java SE Advanced
Java SE Support Java SE Suite
Java SE Platform enhanced with enterprise-grade features for monitoring, manageability, and analytics.
Java SE Platform hardened for mission critical applications having extreme and predictable computing needs.
ü Soft real-time deterministic garbage collector for mission critical applications
ü Memory leak server for dynamic memory leak detection on mission critical production systems
Oracle Premier Support for Java SE.
ü 24x7 support, offered in 27 local languages
ü Security updates on older and current releases
ü Only source for Java SE 6 updates after February 2013
ü Monitor, manage, and profile Java applications without performance overheads
ü Leverage a “time-machine” for back-in-time root cause analysis and profiling
ü Enterprise JRE features i.e., auto update off and usage tracking
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 18
Java SE Support Greater Security & Lowered Risk for Older Versions of Java
l Standard Oracle support for Java SE
l Direct access to updates on My Oracle Support (MOS)
l Rigorous and on-going regression testing and fixes for EOL’d versions of Java SE
l Quick turnaround to critical issues with access to intermediate revisions
• 24x7 support, offered in 27 local languages
• Immediate support for mission-critical applications
• Security updates on older and current releases
• Back-ports to EOL'd versions
• Support for new OS’s and browsers added to older Java releases so legacy code can continue to work
• Access to fully tested releases in days or weeks
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 19
Java Flight Recorder § Always On
– Detailed profiling data always available in rotating buffer
§ Combine data from JDK and Java app – JVM level detail combined with logic from the Java
application
§ Analyze what leads up to the event – ”Time-machine” instead of logs – You usually want information from before the time
you were alerted to the problem
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 20
Other Java: Internet of Things
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 21
Sensors & Micro controllers
Smart Energy & mHealth
Connected Vehicles Smart Appliances & Consumer Electronics Communications
Industrial controls & Network Appliances
Multi-function Embedded Devices
Java Embedded
Personal Devices
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 22
Device
Middleware
DBMS
Java-based IoT Platform
§ The Device is a key component for the Internet of Things revolution
§ Java enables it to be more intelligent, scalable, and supportable
§ It’s ultimately about the Data
Single development platform across all domains
Common Security
Common Development
Common Management
Data
Data
Data
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 23
Current Embedded Releases
Java ME Embedded 3.2 Runtime for small embedded devices: Microcontroller class platforms
Java Embedded Suite 7.0
Pre-integrated full featured Java Embedded Platform
EDGE DEVICES GATEWAYS/CONCENTRATORS
Embedded
Enterprise Data & Applications
DB 3.1.1
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 24
Public Roadmap Embedded Java
2015 2012 2013 2014
Java Embedded Suite 7 • SE Embedded 7 • GlassFish for Embedded • Java DB
Java SE Embedded 8 • Complete JVM convergence • Additional compact profiles • JavaFX for Embedded
Java Embedded Suite 8 • Additional enterprise middleware integrations
• Flight Recorder/Mission Control NetBeans IDE 8 • Java ME/SE 8 Embedded
support
Java ME Embedded 3.2 • Microcontroller support • Device Access APIs
Java ME SDK 3.2 • Embedded emulator • Eclipse integration
Java Embedded 9 • JDK9 • Modularity based on Jigsaw • Additional Embedded
device APIs • Ease of Development
Java ME Embedded 3.3 • Enhanced device access • Additional platforms • Footprint optimization &
configuration tools Java ME SDK 3.3 • Improved developer
tooling & experience
Java ME Embedded 8 • Java ME 8 • Standardized Embedded API • New on-device debugging
architecture Java ME SDK 8 • Improved developer tooling &
experience
NetBeans IDE 7.2 • ME Embedded support
NetBeans IDE 9 • Java ME/SE 9
Embedded support • Jigsaw support
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 25
JDK/FX 8 early access
§ http://jdk8.java.net/fxarmpreview/javafx-arm-developer-preview.html § http://www.raspberrypi.org/phpBB3/viewforum.php?f=81 § http://www.savagehomeautomation.com/projects/raspberry-pi-java-
gpio-frequency-benchmarks.html § http://www.wolter.biz/2012/11/the-voice-controlled-coffee-machine/ § https://www.youtube.com/watch?v=GZAhOx-YYL0 § http://www.youtube.com/watch?v=hemftY9Gcz8 § http://www.savagehomeautomation.com/projects/raspberry-pi-stepper-
motor-control-breakout-board.html § http://fxexperience.com/2012/12/javafx-on-raspberry-pi/
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 26
More links
§ http://blog.bloidonia.com/post/39658621928/get-up-and-running-with-groovyfx-on-the-raspberry-pi
§ http://jperedadnr.blogspot.com/2013/01/nxtbeefx-javafx-based-app-for-raspberry.html
§ http://www.youtube.com/watch?v=r0GEm1pEhoE § http://www.youtube.com/watch?v=JCKWsFgWn-g § http://www.youtube.com/watch?v=P8nZ8bBXg64 § http://www.jfokus.se/embedded/talks.jsp § http://pi4j.com § http://www.youtube.com/watch?v=9w0cGrroxgk