SlideShare a Scribd company logo
© Copyright Azul Systems 2018
© Copyright Azul Systems 2015
@speakjava
Java Support: What's
Changing and How This
Will Impact Your Business
Simon Ritter
Deputy CTO, Azul Systems
1
© Copyright Azul Systems 2018
Quick Poll
 How quickly do you move to a new release of Java?
1. We deploy it in production before it's released
2. As soon as the release is Generally Available (GA)
3. We wait for a few updates to ensure stability
4. When public updates for the previous release end
5. There are new versions of Java?
2
© Copyright Azul Systems 2018
Java Until Now
© Copyright Azul Systems 2018
Java Platform Development
 Development of releases takes time
– JDK 6: 2 years and 2 months after JDK 5
– JDK 7: 4 years and 8 months after JDK 6
– JDK 8: 2 years and 8 months after JDK 7
– JDK 9: 3 years and 6 months after JDK 8
4
© Copyright Azul Systems 2018
Migrating To A New Version
 Plenty of time to continue with previous release
– JDK 6: 2 years and 11 months of public JDK 5 updates
– JDK 7: 1 year and 9 months of public JDK 6 updates
– JDK 8: 1 year and 1 month of public JDK 7 updates
 Also allows for stabilisation of new platform before
migrating applications in production
5
© Copyright Azul Systems 2018
The Java Platform Today
6
Stable
Secure
Free
© Copyright Azul Systems 2018
Oracle JDK Binaries
 Oracle binaries differ from OpenJDK source
– Additional features
 Browser plugin, WebStart
– Additional tools
 Flight Recorder, Mission Control
– Some parts replaced
 Font rendering engine, colour management
– Different license
 Oracle Binary Code License (BCL), not GPLv2 with CPE
 Field-of-use restrictions
7
© Copyright Azul Systems 2018
JDK 9 Changes Deployment
8
Modular run-time
image
…confbin
jlink
jmods
Modules
© Copyright Azul Systems 2018
Building An Application Runtime
$ jlink --module-path $JDKMODS:$MYMODS 
--addmods com.azul.app –-output myimage
$ myimage/bin/java –-list-modules
java.base@9
java.logging@9
java.sql@9
java.xml@9
com.azul.app@1.0
com.azul.zoop@1.0
com.azul.zeta@1.0
© Copyright Azul Systems 2018
The Implications Of jlink
 "Write once, run anywhere"
– Long term Java slogan, mainly held true
 jlink generated runtime may not include all Java SE
modules
– But is still a conformant Java implementation
– To be conformant:
 It must include the java.base module
 If other modules are included, all transitive module dependencies
must also be included
– Defined as a closed implementation
© Copyright Azul Systems 2018
JDK Development Changes
© Copyright Azul Systems 2018
OpenJDK: New Release Model
 Time-based release model
 A new version of the JDK will be released every six months
– March and September
– Starting this year: JDK 10, JDK 11
 OpenJDK development will be more agile
– Previous target was a release every two years
 Features will be included only when ready
– Targeted for a release when feature complete
– Not targeted at specific release when started
12
© Copyright Azul Systems 2018
JDK 9: The Clean Up Starts
 JDK 9 was a significant change for Java
– Deprecated APIs were removed for the first time
 Six methods and one class
– Redundant features eliminated
 jhat tool, JVM TI hprof agent
 Numerous deprecated GC options removed
– Unified JVM logging introduced
 Many JVM flags changed
 Some from JDK 8 will stop the JVM starting
13
© Copyright Azul Systems 2018
Compatibility Not Guaranteed
 New versions of Java may include breaking changes
– Anything for removal will be deprecated first
– Minimum of one release warning
 Could be only six months
14
© Copyright Azul Systems 2018
Housekeeping Will Continue
 JDK 9 deprecated some significant features
– Applets as a deployment mechanism, WebStart
– CMS garbage collector
– Java policy tool, jconsole, Doclet API, other small things
– java.se.ee meta-module
 java.corba
 java.transaction
 java.activation
 java.xml.bind
 java.xml.ws
 java.xml.ws.annotation
15
© Copyright Azul Systems 2018
OpenJDK: More Open Source
 Oracle will open-source closed-source parts of the JDK
– Flight recorder
– Mission control
 The goal is for there to be no functional difference between
an Oracle binary and a binary built from OpenJDK source
– Targeted for completion late 2018
16
© Copyright Azul Systems 2018
Oracle Binaries
 Until now released under Oracle Binary Code License
– Have to accept to download
– Classic "field-of-use" restriction
 Moving forward
– Binaries available under GPLv2 with CPE
– No more 32-bit binaries
– No more Arm binaries
– Windows, Linux, Mac and Solaris SPARC only
 All 64-bit
17
© Copyright Azul Systems 2018
Availability of JDK Updates
 JDK releases now one of two types:
– Feature release
 Six months of updates
– Long term support (LTS) release
 Three years of updates
 No more overlap of updates
– Feature release to feature release
– LTS release to LTS release
– Migrating applications to new platforms must be planned
more carefully
18
© Copyright Azul Systems 2018
Feature or LTS?
 JDK 8 has been classified as an LTS release
– Alignment means more than 3 years of updates
 JDK 9 is a feature release
– Updates only until JDK 10
 Next LTS release is JDK 11
– JDK 8 public updates stop in September this year
19
© Copyright Azul Systems 2018
JavaSEVersion
19 19
18 18
17(LTS) 17(LTS)
16 16
15 15
14 14
13 13
12 12
11(LTS) 11(LTS)
10 10
9 9
8(LTS) 8(LTS)
Oracle Extended
Commercial Support
Oracle Commercial
Support
7(LTS) 7(LTS)
2017 2018 2019 2020 2021 2022 2023 2024
Oracle Publicly available
binaries (unsupported)
Public updates
zero overlap
(“Support Cliff”)
Java SE Life Cycle: 5+ Year Timeline
© Copyright Azul Systems 2018
The Java Platform Soon
21
Stable
Secure
Free
Choose two out of three
© Copyright Azul Systems 2018
Azul's Zulu Java
© Copyright Azul Systems 2018
Zulu Java
 Azul’s binary distribution of OpenJDK
– Passes all TCK tests
– Open source licensing verified
 JDK 6, 7, 8 and 9 available
 Wider platform support:
– Intel 64-bit Windows, Linux and Mac OS X
– Intel 32-bit Windows and Linux
– Arm 32 and 64-bit
– PowerPC
23
© Copyright Azul Systems 2018
Azul Zulu Commercial Support
 Short Term Support (STS)
– Two quarterly releases after next JDK is released
– 6 month overlap (+ 6 month passive support)
 Long Term Support (LTS)
– Longer than Oracle is offering
– All bug and security fixes back ported as necessary
– Minimum ten year support (8 active + 2 passive)
24
© Copyright Azul Systems 2018
Azul Zulu Commercial Support
 Medium Term Support (MTS)
– Two interim, feature releases treated as production stable
– JDK 9 will be MTS (2½ years support + 1 year passive)
– JDK 11 will be starting point for future MTS releases
25
JDK 11 JDK 17
3 years 3 years
JDK 13
JDK 15
18
months
© Copyright Azul Systems 2018
7 (LTS)
2017 2018 2019 2020
8 (LTS)
19
18
17 (LTS)
16
15
14
13
12
11 (LTS)
10
9 9
8(LTS)
7(LTS)
Azul Zulu Passive
Commercial Support
Oracle Commercial
Support
Oracle Extended
Commercial Support
Azul Zulu Active
Commercial Support
2022 2023 20242021
Oracle Publicly available
binaries (unsupported)
14
13
12
11(LTS)
10
19
18
17(LTS)
16
15
JavaSEVersion
Azul Zulu LTS Support
8 years active
Azul Zulu MTS Support
Bridge to next LTS
Azul Zulu STS Support
1 year active
Java SE Life Cycle – 5+ Year Timeline
© Copyright Azul Systems 2018
Summary
© Copyright Azul Systems 2018
Java Is Changing
 Faster delivery of new features
– Six month release cadence
 Two types of release
– Feature and Long Term Support
 No more overlap of updates
 Azul can help!
– Extended support available for all releases
– Ease the migration path for applications
– Tested and supported (not just porting fixes)
28
© Copyright Azul Systems 2018
© Copyright Azul Systems 2015
@speakjava
Thank you!
www.azul.com/products/zulu-and-zulu-enterprise
Simon Ritter
Deputy CTO, Azul Systems
29

More Related Content

What's hot

Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
Simon Ritter
 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
Simon Ritter
 
JDK-9: Modules and Java Linker
JDK-9: Modules and Java LinkerJDK-9: Modules and Java Linker
JDK-9: Modules and Java Linker
Bhanu Prakash Gopularam
 
What's New in Java 9
What's New in Java 9What's New in Java 9
What's New in Java 9
Richard Langlois P. Eng.
 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
Simon Ritter
 
JDK 9: 55 New Features
JDK 9: 55 New FeaturesJDK 9: 55 New Features
JDK 9: 55 New Features
Simon Ritter
 
Java 9 Modularity and Project Jigsaw
Java 9 Modularity and Project JigsawJava 9 Modularity and Project Jigsaw
Java 9 Modularity and Project Jigsaw
Comsysto Reply GmbH
 
Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9
Simon Ritter
 
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
Wolfgang Weigend
 
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Martin Toshev
 
Java 9 and Project Jigsaw
Java 9 and Project JigsawJava 9 and Project Jigsaw
Java 9 and Project Jigsaw
DPC Consulting Ltd
 
Java 9 preview
Java 9 previewJava 9 preview
Java 9 preview
Ivan Krylov
 
Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9
Mauricio "Maltron" Leal
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest features
NexSoftsys
 
Java11 New Features
Java11 New FeaturesJava11 New Features
Java11 New Features
Haim Michael
 
Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9
Anna Shymchenko
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
Sander Mak (@Sander_Mak)
 
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDKComparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Firmansyah, SCJP, OCEWCD, OCEWSD, TOGAF, OCMJEA, CEH
 
Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)
Robert Scholte
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
Pavel Bucek
 

What's hot (20)

Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
 
JDK-9: Modules and Java Linker
JDK-9: Modules and Java LinkerJDK-9: Modules and Java Linker
JDK-9: Modules and Java Linker
 
What's New in Java 9
What's New in Java 9What's New in Java 9
What's New in Java 9
 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
 
JDK 9: 55 New Features
JDK 9: 55 New FeaturesJDK 9: 55 New Features
JDK 9: 55 New Features
 
Java 9 Modularity and Project Jigsaw
Java 9 Modularity and Project JigsawJava 9 Modularity and Project Jigsaw
Java 9 Modularity and Project Jigsaw
 
Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9
 
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
 
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
 
Java 9 and Project Jigsaw
Java 9 and Project JigsawJava 9 and Project Jigsaw
Java 9 and Project Jigsaw
 
Java 9 preview
Java 9 previewJava 9 preview
Java 9 preview
 
Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9
 
Discuss about java 9 with latest features
Discuss about java 9 with latest featuresDiscuss about java 9 with latest features
Discuss about java 9 with latest features
 
Java11 New Features
Java11 New FeaturesJava11 New Features
Java11 New Features
 
Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
 
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDKComparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
 
Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
 

Similar to Java Support: What's changing

Is Java Still Free?
Is Java Still Free?Is Java Still Free?
Is Java Still Free?
Simon Ritter
 
How to Choose a JDK
How to Choose a JDKHow to Choose a JDK
How to Choose a JDK
Simon Ritter
 
2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes
Neil Brown
 
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor TopicJavantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Java 9 and Beyond
Java 9 and BeyondJava 9 and Beyond
Java 9 and Beyond
Mayank Patel
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
Rogue Wave Software
 
Java SE Subscription Workshop
Java SE Subscription WorkshopJava SE Subscription Workshop
Java SE Subscription Workshop
MarketingArrowECS_CZ
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
 
Contributing to JDK Mission Control
Contributing to JDK Mission ControlContributing to JDK Mission Control
Contributing to JDK Mission Control
Marcus Hirt
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
Wolfgang Weigend
 
Moving Towards JDK 12
Moving Towards JDK 12Moving Towards JDK 12
Moving Towards JDK 12
Simon Ritter
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
 
Java11 terms of_use
Java11 terms of_useJava11 terms of_use
Java11 terms of_use
Maksym Govorischev
 
Explaining the new Java release and licensing models
Explaining the new Java release and licensing modelsExplaining the new Java release and licensing models
Explaining the new Java release and licensing models
Mark West
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor TopicJavantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
Azul Systems Inc.
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
Azul Systems, Inc.
 
OpenJDK-Zulu talk at JEEConf'14
OpenJDK-Zulu talk at JEEConf'14OpenJDK-Zulu talk at JEEConf'14
OpenJDK-Zulu talk at JEEConf'14Ivan Krylov
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
Kevin Sutter
 

Similar to Java Support: What's changing (20)

Is Java Still Free?
Is Java Still Free?Is Java Still Free?
Is Java Still Free?
 
How to Choose a JDK
How to Choose a JDKHow to Choose a JDK
How to Choose a JDK
 
2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes2018 10-oracle-java-licensing-update-support-changes
2018 10-oracle-java-licensing-update-support-changes
 
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor TopicJavantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
 
Java 9 and Beyond
Java 9 and BeyondJava 9 and Beyond
Java 9 and Beyond
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
 
Java SE Subscription Workshop
Java SE Subscription WorkshopJava SE Subscription Workshop
Java SE Subscription Workshop
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
Contributing to JDK Mission Control
Contributing to JDK Mission ControlContributing to JDK Mission Control
Contributing to JDK Mission Control
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
Moving Towards JDK 12
Moving Towards JDK 12Moving Towards JDK 12
Moving Towards JDK 12
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Java11 terms of_use
Java11 terms of_useJava11 terms of_use
Java11 terms of_use
 
Explaining the new Java release and licensing models
Explaining the new Java release and licensing modelsExplaining the new Java release and licensing models
Explaining the new Java release and licensing models
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
 
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor TopicJavantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
 
OpenJDK-Zulu talk at JEEConf'14
OpenJDK-Zulu talk at JEEConf'14OpenJDK-Zulu talk at JEEConf'14
OpenJDK-Zulu talk at JEEConf'14
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
 

More from Simon Ritter

Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native Compiler
Simon Ritter
 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaC
Simon Ritter
 
The Art of Java Type Patterns
The Art of Java Type PatternsThe Art of Java Type Patterns
The Art of Java Type Patterns
Simon Ritter
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
Simon Ritter
 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoring
Simon Ritter
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
Simon Ritter
 
Getting the Most From Modern Java
Getting the Most From Modern JavaGetting the Most From Modern Java
Getting the Most From Modern Java
Simon Ritter
 
Building a Better JVM
Building a Better JVMBuilding a Better JVM
Building a Better JVM
Simon Ritter
 
JDK 14 Lots of New Features
JDK 14 Lots of New FeaturesJDK 14 Lots of New Features
JDK 14 Lots of New Features
Simon Ritter
 
Java after 8
Java after 8Java after 8
Java after 8
Simon Ritter
 
Java Programming
Java ProgrammingJava Programming
Java Programming
Simon Ritter
 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans Technology
Simon Ritter
 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java Technology
Simon Ritter
 
Building a Brain with Raspberry Pi and Zulu Embedded JVM
Building a Brain with Raspberry Pi and Zulu Embedded JVMBuilding a Brain with Raspberry Pi and Zulu Embedded JVM
Building a Brain with Raspberry Pi and Zulu Embedded JVM
Simon Ritter
 
It's Java, Jim, but not as we know it
It's Java, Jim, but not as we know itIt's Java, Jim, but not as we know it
It's Java, Jim, but not as we know it
Simon Ritter
 
Whats New For Developers In JDK 9
Whats New For Developers In JDK 9Whats New For Developers In JDK 9
Whats New For Developers In JDK 9
Simon Ritter
 
Streams: The Good, The Bad And The Ugly
Streams: The Good, The Bad And The UglyStreams: The Good, The Bad And The Ugly
Streams: The Good, The Bad And The Ugly
Simon Ritter
 

More from Simon Ritter (17)

Cloud Native Compiler
Cloud Native CompilerCloud Native Compiler
Cloud Native Compiler
 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaC
 
The Art of Java Type Patterns
The Art of Java Type PatternsThe Art of Java Type Patterns
The Art of Java Type Patterns
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoring
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Getting the Most From Modern Java
Getting the Most From Modern JavaGetting the Most From Modern Java
Getting the Most From Modern Java
 
Building a Better JVM
Building a Better JVMBuilding a Better JVM
Building a Better JVM
 
JDK 14 Lots of New Features
JDK 14 Lots of New FeaturesJDK 14 Lots of New Features
JDK 14 Lots of New Features
 
Java after 8
Java after 8Java after 8
Java after 8
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
The Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans TechnologyThe Latest in Enterprise JavaBeans Technology
The Latest in Enterprise JavaBeans Technology
 
Developing Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java TechnologyDeveloping Enterprise Applications Using Java Technology
Developing Enterprise Applications Using Java Technology
 
Building a Brain with Raspberry Pi and Zulu Embedded JVM
Building a Brain with Raspberry Pi and Zulu Embedded JVMBuilding a Brain with Raspberry Pi and Zulu Embedded JVM
Building a Brain with Raspberry Pi and Zulu Embedded JVM
 
It's Java, Jim, but not as we know it
It's Java, Jim, but not as we know itIt's Java, Jim, but not as we know it
It's Java, Jim, but not as we know it
 
Whats New For Developers In JDK 9
Whats New For Developers In JDK 9Whats New For Developers In JDK 9
Whats New For Developers In JDK 9
 
Streams: The Good, The Bad And The Ugly
Streams: The Good, The Bad And The UglyStreams: The Good, The Bad And The Ugly
Streams: The Good, The Bad And The Ugly
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 

Java Support: What's changing

  • 1. © Copyright Azul Systems 2018 © Copyright Azul Systems 2015 @speakjava Java Support: What's Changing and How This Will Impact Your Business Simon Ritter Deputy CTO, Azul Systems 1
  • 2. © Copyright Azul Systems 2018 Quick Poll  How quickly do you move to a new release of Java? 1. We deploy it in production before it's released 2. As soon as the release is Generally Available (GA) 3. We wait for a few updates to ensure stability 4. When public updates for the previous release end 5. There are new versions of Java? 2
  • 3. © Copyright Azul Systems 2018 Java Until Now
  • 4. © Copyright Azul Systems 2018 Java Platform Development  Development of releases takes time – JDK 6: 2 years and 2 months after JDK 5 – JDK 7: 4 years and 8 months after JDK 6 – JDK 8: 2 years and 8 months after JDK 7 – JDK 9: 3 years and 6 months after JDK 8 4
  • 5. © Copyright Azul Systems 2018 Migrating To A New Version  Plenty of time to continue with previous release – JDK 6: 2 years and 11 months of public JDK 5 updates – JDK 7: 1 year and 9 months of public JDK 6 updates – JDK 8: 1 year and 1 month of public JDK 7 updates  Also allows for stabilisation of new platform before migrating applications in production 5
  • 6. © Copyright Azul Systems 2018 The Java Platform Today 6 Stable Secure Free
  • 7. © Copyright Azul Systems 2018 Oracle JDK Binaries  Oracle binaries differ from OpenJDK source – Additional features  Browser plugin, WebStart – Additional tools  Flight Recorder, Mission Control – Some parts replaced  Font rendering engine, colour management – Different license  Oracle Binary Code License (BCL), not GPLv2 with CPE  Field-of-use restrictions 7
  • 8. © Copyright Azul Systems 2018 JDK 9 Changes Deployment 8 Modular run-time image …confbin jlink jmods Modules
  • 9. © Copyright Azul Systems 2018 Building An Application Runtime $ jlink --module-path $JDKMODS:$MYMODS --addmods com.azul.app –-output myimage $ myimage/bin/java –-list-modules java.base@9 java.logging@9 java.sql@9 java.xml@9 com.azul.app@1.0 com.azul.zoop@1.0 com.azul.zeta@1.0
  • 10. © Copyright Azul Systems 2018 The Implications Of jlink  "Write once, run anywhere" – Long term Java slogan, mainly held true  jlink generated runtime may not include all Java SE modules – But is still a conformant Java implementation – To be conformant:  It must include the java.base module  If other modules are included, all transitive module dependencies must also be included – Defined as a closed implementation
  • 11. © Copyright Azul Systems 2018 JDK Development Changes
  • 12. © Copyright Azul Systems 2018 OpenJDK: New Release Model  Time-based release model  A new version of the JDK will be released every six months – March and September – Starting this year: JDK 10, JDK 11  OpenJDK development will be more agile – Previous target was a release every two years  Features will be included only when ready – Targeted for a release when feature complete – Not targeted at specific release when started 12
  • 13. © Copyright Azul Systems 2018 JDK 9: The Clean Up Starts  JDK 9 was a significant change for Java – Deprecated APIs were removed for the first time  Six methods and one class – Redundant features eliminated  jhat tool, JVM TI hprof agent  Numerous deprecated GC options removed – Unified JVM logging introduced  Many JVM flags changed  Some from JDK 8 will stop the JVM starting 13
  • 14. © Copyright Azul Systems 2018 Compatibility Not Guaranteed  New versions of Java may include breaking changes – Anything for removal will be deprecated first – Minimum of one release warning  Could be only six months 14
  • 15. © Copyright Azul Systems 2018 Housekeeping Will Continue  JDK 9 deprecated some significant features – Applets as a deployment mechanism, WebStart – CMS garbage collector – Java policy tool, jconsole, Doclet API, other small things – java.se.ee meta-module  java.corba  java.transaction  java.activation  java.xml.bind  java.xml.ws  java.xml.ws.annotation 15
  • 16. © Copyright Azul Systems 2018 OpenJDK: More Open Source  Oracle will open-source closed-source parts of the JDK – Flight recorder – Mission control  The goal is for there to be no functional difference between an Oracle binary and a binary built from OpenJDK source – Targeted for completion late 2018 16
  • 17. © Copyright Azul Systems 2018 Oracle Binaries  Until now released under Oracle Binary Code License – Have to accept to download – Classic "field-of-use" restriction  Moving forward – Binaries available under GPLv2 with CPE – No more 32-bit binaries – No more Arm binaries – Windows, Linux, Mac and Solaris SPARC only  All 64-bit 17
  • 18. © Copyright Azul Systems 2018 Availability of JDK Updates  JDK releases now one of two types: – Feature release  Six months of updates – Long term support (LTS) release  Three years of updates  No more overlap of updates – Feature release to feature release – LTS release to LTS release – Migrating applications to new platforms must be planned more carefully 18
  • 19. © Copyright Azul Systems 2018 Feature or LTS?  JDK 8 has been classified as an LTS release – Alignment means more than 3 years of updates  JDK 9 is a feature release – Updates only until JDK 10  Next LTS release is JDK 11 – JDK 8 public updates stop in September this year 19
  • 20. © Copyright Azul Systems 2018 JavaSEVersion 19 19 18 18 17(LTS) 17(LTS) 16 16 15 15 14 14 13 13 12 12 11(LTS) 11(LTS) 10 10 9 9 8(LTS) 8(LTS) Oracle Extended Commercial Support Oracle Commercial Support 7(LTS) 7(LTS) 2017 2018 2019 2020 2021 2022 2023 2024 Oracle Publicly available binaries (unsupported) Public updates zero overlap (“Support Cliff”) Java SE Life Cycle: 5+ Year Timeline
  • 21. © Copyright Azul Systems 2018 The Java Platform Soon 21 Stable Secure Free Choose two out of three
  • 22. © Copyright Azul Systems 2018 Azul's Zulu Java
  • 23. © Copyright Azul Systems 2018 Zulu Java  Azul’s binary distribution of OpenJDK – Passes all TCK tests – Open source licensing verified  JDK 6, 7, 8 and 9 available  Wider platform support: – Intel 64-bit Windows, Linux and Mac OS X – Intel 32-bit Windows and Linux – Arm 32 and 64-bit – PowerPC 23
  • 24. © Copyright Azul Systems 2018 Azul Zulu Commercial Support  Short Term Support (STS) – Two quarterly releases after next JDK is released – 6 month overlap (+ 6 month passive support)  Long Term Support (LTS) – Longer than Oracle is offering – All bug and security fixes back ported as necessary – Minimum ten year support (8 active + 2 passive) 24
  • 25. © Copyright Azul Systems 2018 Azul Zulu Commercial Support  Medium Term Support (MTS) – Two interim, feature releases treated as production stable – JDK 9 will be MTS (2½ years support + 1 year passive) – JDK 11 will be starting point for future MTS releases 25 JDK 11 JDK 17 3 years 3 years JDK 13 JDK 15 18 months
  • 26. © Copyright Azul Systems 2018 7 (LTS) 2017 2018 2019 2020 8 (LTS) 19 18 17 (LTS) 16 15 14 13 12 11 (LTS) 10 9 9 8(LTS) 7(LTS) Azul Zulu Passive Commercial Support Oracle Commercial Support Oracle Extended Commercial Support Azul Zulu Active Commercial Support 2022 2023 20242021 Oracle Publicly available binaries (unsupported) 14 13 12 11(LTS) 10 19 18 17(LTS) 16 15 JavaSEVersion Azul Zulu LTS Support 8 years active Azul Zulu MTS Support Bridge to next LTS Azul Zulu STS Support 1 year active Java SE Life Cycle – 5+ Year Timeline
  • 27. © Copyright Azul Systems 2018 Summary
  • 28. © Copyright Azul Systems 2018 Java Is Changing  Faster delivery of new features – Six month release cadence  Two types of release – Feature and Long Term Support  No more overlap of updates  Azul can help! – Extended support available for all releases – Ease the migration path for applications – Tested and supported (not just porting fixes) 28
  • 29. © Copyright Azul Systems 2018 © Copyright Azul Systems 2015 @speakjava Thank you! www.azul.com/products/zulu-and-zulu-enterprise Simon Ritter Deputy CTO, Azul Systems 29