820 likes | 847 Views
Dive into the evolving landscape of Java versions with insights on support from Oracle and other vendors. Explore the changes since Java 9 and the future of LTS releases.
E N D
Which Java Version from which Vendor with what Support? Jeanne Boyarsky Wednesday, October 24, 2018 Oracle Code One – DEV5125 speakerdeck.com/boyarsky
Thank you to… MartijnVerberg (JClarity) Simon Ritter (Azul) Steve Poole & Tim Ellison (IBM) Simon Maple (LJC) Trisha Gee ??? (Red Hat)
For more on Java 9 (or 10 or 11), see: https://speakerdeck.com/boyarsky
Topics: • Ecosystem changes • VMs • Bonus: Language changes
About Me • 16 years as • Java Developer • Note where • I don’t work!
The Saga of Jigsaw • 2011 – Maybe part of Java 7. Nope Plan B • 2012 - Part of Java 8. No wait • 2014 - Part of Java 9
Java 9 “Release” Dates • Sept 2016 • May 2017 • July 2017 • Sept 2017
Counting lessons? • 1.0, 1.1, 1.2, 1.3, 1.4 • 5.0 • 6, 7, 8, 9, 10, 11
Advanced counting lessons • 10 = 2018.3 • 11 = 2018.9 • 12 = ?
Wait, a major version every 6 months? • + Syntax changes • + Smaller features • - Years of features
Frequency of Release F Predictability of Release D Java School Report Card Developer Community A Features B
Frequency of Release F Predictability of Release D JVM College Report Card Vocabulary B Polyglot programming A
How many languages do you know? Examples • Java • Kotlin • Groovy • Scala • SQL • HTML • JavaScript • CSS • One (or zero) • Two – Five • Six or more
Before Now
Before Now
What is Long Term Support? Patches Ask vendor a question Oracle defined as 3 years. Other vendors (mostly) following definition.
Looking at that another way Once Java 12 comes out, what does Oracle issue patches for? Open JDK 12 Oracle Java 11 (Paid)
Wait. So what happens next? How long will Java 12 have Oracle patches? Answer: 6 months What is the next LTS version after Java 11? Java 11 + 3*2 = 17
A Tale of Two JDKs Note: Oracle also publishes Open JDK 6 months for dev; not EA
Found it! Some closed-source parts of the Oracle JDK will be open-sourced • Flight recorder • Mission control • Others
Where did it go? Other closed-source parts will be removed • Browser Plugin • Java Web Start • JavaFX (Lives on as OpenJFX)
FUD quiz #1 There will be a LTS release every 3 years. How long for free updates? 6 months
FUD quiz #2 Which of these require a paid license to Oracle? • Open JDK 11 • Oracle JDK 11 Oracle JDK 11
FUD quiz #3 How long can Oracle JDK 8 be used in Prod for free? Forever (but no security patches)
FUD quiz #4 How long will Oracle contribute to Open JDK for each release? 6 months
FUD quiz #5 How long will Oracle backport updates and security patches? 0 months
FUD quiz #6 Is anyone backporting updates and security patches? RedHat
FUD quiz #7 • Is it enough to pass the TCK (Technology Compatibility Kit) to be Java SE? • No. If vendor doesn’t pay Oracle, “Java SE Compatible”
Vendor JDKs • Vulnerability Security Group • Backporting – non trivial • Features removed • What is a bug/security patch/enhancement
Adopt OpenJDK + IBM + means support as long as source maintained
RedHat • Java 8, 9, 10 still available • Java 8 and 11 supported • Will maintain OpenJDK after Oracle support ends
Others • SAP distributes Java 10 + 11 Don’t be sad if your favorite JDK is missing. Just examples!
Tip: Aliases alias javac11=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/javac alias java11=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java
(10/11) Local variable syntax
(10) • String name = "Jeanne”; • var name = "Jeanne"; • List list = List.of(1, 2, 3); • var list = List.of(1, 2, 3); • Syntactical sugar/less boilerplate • Not immutable (no val)
(10) varname = "Jeanne"; String name2 = name; • Compiled code same with var