SlideShare a Scribd company logo
1 of 48
Download to read offline
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Title Slide with
Java FY15 Theme
Subtitle
Presenter’s Name
Presenter’s Title
Organization, Division or Business Unit
Month 00, 2014
Note: The speaker notes for this slide
include detailed instructions on how to reuse
this Title Slide in another presentation.
Tip! Remember to remove this text box.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
It's a JDK jungle out there –
Oracle JDK und OpenJDK
Wolfgang Weigend
Sen. Leitender Systemberater
Java Technology and Architecture
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
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.
2
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Agenda
Java Version Numbers
Java SE Roadmap
Java in a World of Containers and Open Source
JDK 10 Migration Guide
OpenJDK
Release Cycle & Oracle OpenJDK Builds
Summary
1
2
3
4
3
5
6
7
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Rules for Java CPU’s
− Main release for security vulnerabilities
− Covers all JDK families (10, 9, 8, 7, 6)
− CPU release triggers Auto-update
− Dates published 12 months in advance
− Security Alerts are released as necessary
− Based off the previous (non-CPU) release
− Released simultaneously on java.com and OTN
JDK 10.0.1 - Security Baselines
JRE Family Version
JRE Security Baseline
(Full Version String)
10 10.0.1+10
9 9.0.99
8 1.8.0_171-b11
7 1.7.0_181-b09
6 1.6.0_191-b09
JDK Version Numbers and Java Critical Patch Updates
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
A version number, $VNUM, is a sequence of numerals of arbitrary length, separated by period characters.
The first four numerals are interpreted as follows: $FEATURE.$INTERIM.$UPDATE.$EMERG
$FEATURE formerly $MAJOR
$INTERIM formerly $MINOR
$UPDATE formerly $SECURITY
$EMERG -- The emergency-release counter, incremented only when it's necessary to produce an
emergency release to fix an urgent security issue. Using an additional numeral for this purpose minimizes
the disruption to both developers and users of in-flight update releases.
JDK Version Numbers
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java SE Roadmap
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java SE Public Updates
http://www.oracle.com/technetwork/java/eol-135779.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Support Roadmap*
http://www.oracle.com/technetwork/java/eol-135779.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Advanced Support
https://shop.oracle.com
• Select
Software
Oracle Fusion Middleware
Java
Oracle Java SE Advanced
• Oracle Java SE Advanced
Java Standard Edition (Java SE) Advanced includes the Oracle Java Runtime Environment (JRE) and Java Development Kit (JDK), JRockit JDK, JRockit Mission
Control as well as Monitoring and Management features (including APIs etc for EM integration). This set of custom Java SE revisions gives companies immediate
access to critical fixes, a longer roadmap for support, and enterprise features that greatly minimize the costs of deployment and maintenance. By providing back-
ports of older Java SE versions, customers can decide when they wish to upgrade to the latest version of the JRE/JDK.
• Calculator
Metric: Named User Plus, or Processor
Term: 1 Year .. 5 Years, or Perpetual
Quantity: Number
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java Client Roadmap Update (1)
Java Web Start and Pre-Installed Java Runtime Environments
10
• Java Web Start has been included in the Oracle Java Runtime Environment (JRE) since 2001. It is launched
automatically when a Java application using Java Web Start technology is downloaded for the first time.
Desktop shortcuts can also launch the application, providing the user with a similar experience to that of
a native application.
• Java Web Start has become a migration path for developers as browser vendors continued to restrict
plugin support over the past several years.
• Since it is predominantly a desktop technology, Web Start has some limitations. In particular, it requires a
standalone JRE to be installed and maintained on the user’s desktop.
• However, over the past decade, vendors of the most popular desktop operating systems have
emphatically pushed for applications on their platforms to be delivered bundled with integrated,
sandboxed runtimes. Increasingly they require desktop applications to be distributed through their own
private “app stores.”
• The notion of an application being distributed separately from a standalone JRE is, therefore, quickly
fading.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 11
• Oracle will extend support for Web Start in Java SE 8 from March, 2019, through at least March 2025.
• Oracle products that have dependencies on Web Start will remain on Java SE 8 and continue with the
support timelines as indicated by those products.
• Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later.
• Oracle will begin encouraging application developers and users to transition away from Java Web Start
and encourage non-commercial consumers to remove any unused or non-supported Oracle JRE
installations from their desktops.
• Developers who deploy desktop applications to individual consumers (eg, games, personal banking, or
other B2C applications) will need to transition to other deployment technologies such as the jlink and/or
third party packaging and deployment solutions before the end of 2020.
• Application developers who target applications for internal data processing, business, commercial, or
production purposes, will either need to seek commercial license with Oracle, or transition to other
deployment technologies by January 2019.
Java Client Roadmap Update (2)
Java Web Start and Pre-Installed Java Runtime Environments - Consequently
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java in a World of Containers
and Open Source
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java in a World of Containers
Java’s characteristic make it ideal for a container environment
13
• Managed language/runtime
• Hardware and operating system agnostic
• Safety and secure enforced by JVM
• Compatibility is a key design goal
• JVM ensures stable execution when runtime environment changes
• Broad ecosystem
• Keeping Java the first choice for container deployments
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Open source commercial features
What is being open-sourced in Java
14
• Java Mission Control
– Monitor and manage Java applications with minimal performance overhead
• Java Flight Recorder
– Collects diagnostic and profiling data about a running Java application
• Application Class Data Sharing
– Enables you to place classes from the standard extensions directories and the
application class path in the shared archive
• Java Usage Tracker
– Tracks how the JRE‘s are being used in your systems
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 10 Migration Guide
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Migrating to Oracle JDK 10 - Migration Guide (1)
https://docs.oracle.com/javase/10/migrate/
16
• Migrating to JDK 10 from JDK 8
– The purpose of this guide is to help you identify potential issues and give you suggestions on how to
proceed as you migrate your existing Java application from JDK 8, or earlier version of the JDK, to JDK 10.
– This guide is not significantly different than the JDK 9 Migration Guide.
– Every new Java SE release introduces some binary, source, and behavioral incompatibilities with previous
releases.
– The modularization of the Java SE Platform that happened in JDK 9 brought many benefits, but also many
changes.
– Code that uses only official Java SE Platform APIs and supported JDK-specific APIs should continue to work
without change.
– Code that uses JDK-internal APIs should continue to run but should be migrated to use external APIs.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Migrating to Oracle JDK 10 - Migration Guide (2)
https://docs.oracle.com/javase/10/migrate/
17
• Prepare for Migration
• Download JDK 10
• Run Your Program Before Recompiling
• Update Third-Party Libraries
• Compile Your Application if Needed
• Run jdeps on Your Code
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Migrating to Oracle JDK 10 - Migration Guide (3)
https://docs.oracle.com/javase/10/migrate/
18
• Changes that you may encounter as you run your application
– New Version-String Scheme
– Understanding Runtime Access Warnings
– Changes to the Installed JDK/JRE Image
– Removed or Changed APIs
– Modules Shared with Java EE Not Resolved by Default
– Deployment
– Security Updates
– Changes to Garbage Collection
– Removed Tools and Components
– Removed macOS-Specific Features
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Modular Development with JDK 10
19
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 10
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 10 is the open-source reference implementation of
the Java SE 10 Platform as defined by JSR 383 in the JCP
21
• JEP 286: Local-Variable Type Inference
• JEP 296: Consolidate the JDK Forest into a Single Repository
• JEP 304: Garbage-Collector Interface
• JEP 307: Parallel Full GC for G1
• JEP 310: Application Class-Data Sharing
• JEP 312: Thread-Local Handshakes
• JEP 313: Remove the Native-Header Generation Tool (javah)
• JEP 314: Additional Unicode Language-Tag Extensions
• JEP316: Heap Allocation on Alternative Memory Devices
• JEP 317: Experimental Java-Based JIT Compiler
• JEP 319: Root Certificates
• JEP 322: Time-Based Release Versioning
http://openjdk.java.net/projects/jdk/10/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java Development Kit
(JDK) Java Runtime Environment (JRE)
JDK, JRE and JVM
javac Standard
Libraries
Other
Developer
Tools
(eg, javadoc)
JVM
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK
“The place to collaborate on an open-source implementation of the Java
Platform, Standard Edition, and related projects.”
In a Nutshell
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK
• Started by Sun Microsystems in November 2006
– 2007: JDK Project Released under GPL v2 + CPE
– 2007-2009: Ideas, Code, Committers, Projects, OpenJDK 6, JDK 7 Milestone
– 2010 – Present (Post Sun Microsystems Acquisition)
• JDK 7, JDK 8, JDK 9 releases
• OpenJDK Bylaws Ratified - New Governance and Governing Board
• Oracle and Apple announce OpenJDK project for MacOS X
• OpenJDK Reference Implementation for Java SE releases after Java SE 7
• Hundreds of new Contributors, Dozens of new companies participating – eg, SAP,
Twitter, Azul, Amazon, Alibaba, and others and many Individuals Announce
Participation
A Brief History
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Dozens of Projects
Java SE RI
Binaries
Open Community – GPL v2 + Classpath Exception
OpenJDK Cycle
Customized VM for
Internal Use
...and many more
Both Gratis and Commercial offerings
(Including Support, Enterprise tooling,
etc, available)
Source contributions
Companies AND Individuals
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK
• Clear commitment from Oracle
• August 2017, Oracle announced plans to Open Source it’s
commercial Oracle JDK features, and produce OpenJDK
binaries
• Pipeline of new and interested Contributors and
Participants
• Oracle continues investment in OpenJDK:
– Language, JVM, core libraries, PM
– Open sourcing of previously internal/closed features
– Enjoying benefits from the rebooted governance & retooling
infrastructure – ever evolving
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Community Engagement
Fix build warnings, trivial bugs,
test and report regressions
Non-complex bugs, review, test portingIntermediate
Starter
Advanced Solving non-trivial bugs
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK Project
• Open source implementation of Java SE
• Licensed under GPLv2 with classpath exception
• Reference implementation for Java SE 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ..
• Different vendors/implementers working in common space
– Oracle, IBM, Intel, Twitter, Azul, Google, RedHat, SAP
• Many Java SE related projects
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Contributor Agreement - OCA
• Copyright and patent sharing agreement with regards to your contribution
– Simple dual license model
• You and Oracle could treat the contribution as being the sole owner
• Oracle guarantees to always publish any contribution under a suitable Free
Software Foundation (FSF) or Open Source Initiative (OSI) approved license
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK and Java Ownership
• Java is a registered trademark of Oracle
– OpenJDK is named idependently
– Access to the Technology Compatibility Kit (TCK) is restricted
• TCK access requires to sign the OpenJDK Community TCK License Agreement (OCTLA)
– OpenJDK or substantially projects only
– OCTLA did not allow to disclose TCK information to Non-OCTLA licensees
• OCTLA is not a trademark license
• OpenJDK could be used according to the OpenJDK Trademark Notice
– http://openjdk.java.net/legal/openjdk-trademark-notice.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK Infrastructure
• OpenJDK homepage
• Mercurial repositories
– Forests of nested sub-repositories
• Mailing lists
• JDK Bug System
– https://bugs.openjdk.java.net
• Code review server cr.openjdk.java.net
– Review requests in Webrev format
– Access only for Author or higher roles
• OpenJDK Wiki for group member only to get write access
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK Bug Reporting
• Bug should be reproduced with the latest builds
• Debug build is appropriate
• Simple test case desirable (Jtreg test, ..)
• JDK Bug System search for similar bugs
– Public visible bugs
– Invisible bugs like security bugs and customer bugs
• Non-Authors bug submit only with Java Bug Database and temp bug ID
– https://bugs.java.com/
• Use to write directly to the mailing list for simple reproducible bugs
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OpenJDK Tools - Mercurial
• Mercurial is a distributed source control system implemented in Python
• OpenJDK uses nested sub-repositories, i.e. forest:
– to clone them manually, like corba, hotspot, jaxp, jaxws, jdk, langtools, nashorn
$ hg clone http://hg.openjdk.java.net/jdk9/dev jdk9-dev
$ cd jdk9-dev
$ hg clone http://hg.openjdk.java.net/jdk9/dev/hotspot
$ hg clone http://hg.openjdk.java.net/jdk9/dev/nashorn
– or use the get_source.sh script which does the same in parallel
$ hg clone http://hg.openjdk.java.net/jdk9/dev jdk9-dev
$ cd jdk9-dev
$ sh get_source.sh
• Use common/bin/hgforest.sh to execute hg commands in all repositories
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Difference between OpenJDK and Oracle JDK
• Security
• Performance
• Support
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 8 Update Information
• All information about JDK 8 Update Releases
http://openjdk.java.net/projects/jdk8u/
• Send bug reports - Report a Bug or Request a Feature
http://bugreport.java.com/bugreport/
• Track bug reports - Tracking Your Issues In The JDK Bug System
https://robilad.livejournal.com/139637.html
• How to contribute and Submit a patch
http://openjdk.java.net/contribute/
• Nominating a Contributor or Author to be a Committer
http://openjdk.java.net/projects/#project-committer
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK Enhancement Proposal’s (JEP’s)
• Regularly updated list of proposals
– Serve as the long-term roadmap for JDK release projects
– Roadmap extends for at least three years
• Uniform format and a central archive for enhancement proposals
– Interested parties can find, read, comment, and contribute
• Process is open to every OpenJDK Committer
• Enhancement is a non-trivial change to the JDK code base
– Two or more weeks of engineering effort
– significant change to JDK or development processes and infrastructure
– High demand from developers or customers
• JDK Enhancement-Proposal & Roadmap Process
http://openjdk.java.net/jeps/1
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java SE 8 Reference Implementations
• Available at https://jdk8.java.net/java-se-8-ri/
• Based solely upon open source code from JDK 8 Project in OpenJDK
– RI binaries source code available under the GPLv2 in a single zip file (118 MB)
• Binaries provided
– Oracle Linux 6.1 x64 Java Development Kit (154 MB)
– Windows 7 i586 Java Development Kit (90.1 MB)
– Oracle Linux 6.1 i586 (for Compact Profiles) JRE, see JEP 161 Compact Profiles
• Binaries provided primarily for use by implementor’s of the Java SE 8 Platform Specification
• Recommended for reference purposes only
• Reference Implementations have been approved by the JCP
• They will receive no updates, not even for security issues
• RI Binaries under the GNU General Public License version 2
– and under the Oracle Binary Code License
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 8 Updates Project in OpenJDK
• Oracle JDK 8 Updates based on an OpenJDK Project
• Web Site: http://openjdk.java.net/projects/jdk8u
• Information on developers and development processes
• Q & A and status updates
• Sources: http://hg.openjdk.java.net/jdk8u/jdk8u
• Master forest: jdk8u/jdk8u
• Development forest: http://hg.openjdk.java.net/jdk8u/jdk8u-dev
• Mailing list: jdk8u-dev@openjdk.java.net
39
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Release Cycle & Oracle OpenJDK Builds
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 41
• Oracle has started to produce OpenJDK Builds too
• Oracle has announced they plan to Open Source all Oracle JDK “Commercial Features”
• The goal is that OpenJDK Builds be completely interchangeable with the Oracle JDK
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 42
New JDK Release Model - LTS Every 3 years
Y1 Y2 Y3 Y4 Y5 Y6 Y7
9
10
11 LTS
12
13
Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15
14
15
16
17 LTS
18
19
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 43
New JDK Release Model – Starting with JDK 9
‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32
9
10
11 LTS
12
13
14
15
16
17 LTS
JDK 8
JDK 7
JDK 6
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 44
Oracle JDK Binaries
9
10
11 LTS
12
13
14
15
16
17 LTS
JDK 8
JDK 7
JDK 6
‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 45
Oracle JDK & OpenJDK
9
10
11 LTS
12
13
14
15
16
17 LTS
JDK 8
JDK 7
JDK 6
‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32
Oracle JDK
OpenJDK - GPL
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 46
New JDK Release model
9
10
11 LTS
19.3 19.9 20.3 20.9 21.3
17 LTS
JDK 8
JDK 7
JDK 6
9 18.3
‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32
21.918.9 22.3 22.9 29.923.9 24.3 24.9 25.3 25.9 26.3 26.9 27.3 27.9 28.3 28.9 29.323.3 30.3 30.9 31.3 31.9 32.3
Oracle JDK
OpenJDK - GPL
23 LTS
29 LTS
35 LTS
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Summary
47
• The Java platform development on OpenJDK is becoming more open
– Contributing all commercial features
– GPL + CPE build
• The cloud is demanding a faster pace and continuous delivery
– Uptake new Java releases every 6-month
• Let‘s continue to innovate and advance the Java SE Platform on OpenJDK
together!
• Join and become an OpenJDK contributor
– https://openjdk.java.net
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Danke!
Wolfgang.Weigend@oracle.com
Twitter: @wolflook
48

More Related Content

What's hot

Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Languagejaimefrozr
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90minsLarry Cai
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllThomas Wuerthinger
 
Java 9/10/11 - What's new and why you should upgrade
Java 9/10/11 - What's new and why you should upgradeJava 9/10/11 - What's new and why you should upgrade
Java 9/10/11 - What's new and why you should upgradeSimone Bordet
 
Java Programming for Designers
Java Programming for DesignersJava Programming for Designers
Java Programming for DesignersR. Sosa
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootJosué Neis
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesVMware Tanzu
 
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKDeep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKJosé Paumard
 
Hibernate
HibernateHibernate
HibernateAjay K
 
ES6 presentation
ES6 presentationES6 presentation
ES6 presentationritika1
 
Introduction to java
Introduction to java Introduction to java
Introduction to java Java Lover
 

What's hot (20)

Spring framework core
Spring framework coreSpring framework core
Spring framework core
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
 
Java Concurrency by Example
Java Concurrency by ExampleJava Concurrency by Example
Java Concurrency by Example
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
Java 9/10/11 - What's new and why you should upgrade
Java 9/10/11 - What's new and why you should upgradeJava 9/10/11 - What's new and why you should upgrade
Java 9/10/11 - What's new and why you should upgrade
 
Java Programming for Designers
Java Programming for DesignersJava Programming for Designers
Java Programming for Designers
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBoot
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
 
core java
core javacore java
core java
 
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKDeep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UK
 
Spring boot
Spring bootSpring boot
Spring boot
 
Quarkus k8s
Quarkus   k8sQuarkus   k8s
Quarkus k8s
 
java ppt.pdf
java ppt.pdfjava ppt.pdf
java ppt.pdf
 
Hibernate
HibernateHibernate
Hibernate
 
Tomcat
TomcatTomcat
Tomcat
 
ES6 presentation
ES6 presentationES6 presentation
ES6 presentation
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 

Similar to JDK 10 Migration Guide

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 11Wolfgang Weigend
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETGeertjan Wielenga
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsDavid Delabassee
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowDmitry Kornilov
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8terrencebarr
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
Java: how to thrive in the changing world
Java: how to thrive in the changing worldJava: how to thrive in the changing world
Java: how to thrive in the changing worldAlexey Fyodorov
 
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...terrencebarr
 
Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Shaun Smith
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Curity
 
Version 1 Oracle Java Licensing changes -- what is really going on-feb2020-pdf
Version 1   Oracle Java Licensing changes -- what is really going on-feb2020-pdfVersion 1   Oracle Java Licensing changes -- what is really going on-feb2020-pdf
Version 1 Oracle Java Licensing changes -- what is really going on-feb2020-pdfPaul Bullen
 

Similar to JDK 10 Migration Guide (20)

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
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Java SE Subscription Workshop
Java SE Subscription WorkshopJava SE Subscription Workshop
Java SE Subscription Workshop
 
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...
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Java 101
Java 101Java 101
Java 101
 
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: how to thrive in the changing world
Java: how to thrive in the changing worldJava: how to thrive in the changing world
Java: how to thrive in the changing world
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
 
Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
Version 1 Oracle Java Licensing changes -- what is really going on-feb2020-pdf
Version 1   Oracle Java Licensing changes -- what is really going on-feb2020-pdfVersion 1   Oracle Java Licensing changes -- what is really going on-feb2020-pdf
Version 1 Oracle Java Licensing changes -- what is really going on-feb2020-pdf
 

More from Wolfgang Weigend

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 15Wolfgang Weigend
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription Wolfgang Weigend
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemWolfgang Weigend
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Wolfgang Weigend
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Wolfgang Weigend
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawWolfgang Weigend
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtWolfgang Weigend
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsWolfgang Weigend
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorderWolfgang Weigend
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI componentsWolfgang Weigend
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollWolfgang Weigend
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornWolfgang Weigend
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerWolfgang Weigend
 

More from Wolfgang Weigend (16)

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
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorder
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI components
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
 

Recently uploaded

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

JDK 10 Migration Guide

  • 1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Title Slide with Java FY15 Theme Subtitle Presenter’s Name Presenter’s Title Organization, Division or Business Unit Month 00, 2014 Note: The speaker notes for this slide include detailed instructions on how to reuse this Title Slide in another presentation. Tip! Remember to remove this text box. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. It's a JDK jungle out there – Oracle JDK und OpenJDK Wolfgang Weigend Sen. Leitender Systemberater Java Technology and Architecture
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement 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. 2
  • 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Agenda Java Version Numbers Java SE Roadmap Java in a World of Containers and Open Source JDK 10 Migration Guide OpenJDK Release Cycle & Oracle OpenJDK Builds Summary 1 2 3 4 3 5 6 7
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Rules for Java CPU’s − Main release for security vulnerabilities − Covers all JDK families (10, 9, 8, 7, 6) − CPU release triggers Auto-update − Dates published 12 months in advance − Security Alerts are released as necessary − Based off the previous (non-CPU) release − Released simultaneously on java.com and OTN JDK 10.0.1 - Security Baselines JRE Family Version JRE Security Baseline (Full Version String) 10 10.0.1+10 9 9.0.99 8 1.8.0_171-b11 7 1.7.0_181-b09 6 1.6.0_191-b09 JDK Version Numbers and Java Critical Patch Updates
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | A version number, $VNUM, is a sequence of numerals of arbitrary length, separated by period characters. The first four numerals are interpreted as follows: $FEATURE.$INTERIM.$UPDATE.$EMERG $FEATURE formerly $MAJOR $INTERIM formerly $MINOR $UPDATE formerly $SECURITY $EMERG -- The emergency-release counter, incremented only when it's necessary to produce an emergency release to fix an urgent security issue. Using an additional numeral for this purpose minimizes the disruption to both developers and users of in-flight update releases. JDK Version Numbers
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java SE Roadmap
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java SE Public Updates http://www.oracle.com/technetwork/java/eol-135779.html
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Support Roadmap* http://www.oracle.com/technetwork/java/eol-135779.html
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Advanced Support https://shop.oracle.com • Select Software Oracle Fusion Middleware Java Oracle Java SE Advanced • Oracle Java SE Advanced Java Standard Edition (Java SE) Advanced includes the Oracle Java Runtime Environment (JRE) and Java Development Kit (JDK), JRockit JDK, JRockit Mission Control as well as Monitoring and Management features (including APIs etc for EM integration). This set of custom Java SE revisions gives companies immediate access to critical fixes, a longer roadmap for support, and enterprise features that greatly minimize the costs of deployment and maintenance. By providing back- ports of older Java SE versions, customers can decide when they wish to upgrade to the latest version of the JRE/JDK. • Calculator Metric: Named User Plus, or Processor Term: 1 Year .. 5 Years, or Perpetual Quantity: Number
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java Client Roadmap Update (1) Java Web Start and Pre-Installed Java Runtime Environments 10 • Java Web Start has been included in the Oracle Java Runtime Environment (JRE) since 2001. It is launched automatically when a Java application using Java Web Start technology is downloaded for the first time. Desktop shortcuts can also launch the application, providing the user with a similar experience to that of a native application. • Java Web Start has become a migration path for developers as browser vendors continued to restrict plugin support over the past several years. • Since it is predominantly a desktop technology, Web Start has some limitations. In particular, it requires a standalone JRE to be installed and maintained on the user’s desktop. • However, over the past decade, vendors of the most popular desktop operating systems have emphatically pushed for applications on their platforms to be delivered bundled with integrated, sandboxed runtimes. Increasingly they require desktop applications to be distributed through their own private “app stores.” • The notion of an application being distributed separately from a standalone JRE is, therefore, quickly fading.
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 11 • Oracle will extend support for Web Start in Java SE 8 from March, 2019, through at least March 2025. • Oracle products that have dependencies on Web Start will remain on Java SE 8 and continue with the support timelines as indicated by those products. • Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later. • Oracle will begin encouraging application developers and users to transition away from Java Web Start and encourage non-commercial consumers to remove any unused or non-supported Oracle JRE installations from their desktops. • Developers who deploy desktop applications to individual consumers (eg, games, personal banking, or other B2C applications) will need to transition to other deployment technologies such as the jlink and/or third party packaging and deployment solutions before the end of 2020. • Application developers who target applications for internal data processing, business, commercial, or production purposes, will either need to seek commercial license with Oracle, or transition to other deployment technologies by January 2019. Java Client Roadmap Update (2) Java Web Start and Pre-Installed Java Runtime Environments - Consequently
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java in a World of Containers and Open Source
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java in a World of Containers Java’s characteristic make it ideal for a container environment 13 • Managed language/runtime • Hardware and operating system agnostic • Safety and secure enforced by JVM • Compatibility is a key design goal • JVM ensures stable execution when runtime environment changes • Broad ecosystem • Keeping Java the first choice for container deployments
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Open source commercial features What is being open-sourced in Java 14 • Java Mission Control – Monitor and manage Java applications with minimal performance overhead • Java Flight Recorder – Collects diagnostic and profiling data about a running Java application • Application Class Data Sharing – Enables you to place classes from the standard extensions directories and the application class path in the shared archive • Java Usage Tracker – Tracks how the JRE‘s are being used in your systems
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 10 Migration Guide
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 10 - Migration Guide (1) https://docs.oracle.com/javase/10/migrate/ 16 • Migrating to JDK 10 from JDK 8 – The purpose of this guide is to help you identify potential issues and give you suggestions on how to proceed as you migrate your existing Java application from JDK 8, or earlier version of the JDK, to JDK 10. – This guide is not significantly different than the JDK 9 Migration Guide. – Every new Java SE release introduces some binary, source, and behavioral incompatibilities with previous releases. – The modularization of the Java SE Platform that happened in JDK 9 brought many benefits, but also many changes. – Code that uses only official Java SE Platform APIs and supported JDK-specific APIs should continue to work without change. – Code that uses JDK-internal APIs should continue to run but should be migrated to use external APIs.
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 10 - Migration Guide (2) https://docs.oracle.com/javase/10/migrate/ 17 • Prepare for Migration • Download JDK 10 • Run Your Program Before Recompiling • Update Third-Party Libraries • Compile Your Application if Needed • Run jdeps on Your Code
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 10 - Migration Guide (3) https://docs.oracle.com/javase/10/migrate/ 18 • Changes that you may encounter as you run your application – New Version-String Scheme – Understanding Runtime Access Warnings – Changes to the Installed JDK/JRE Image – Removed or Changed APIs – Modules Shared with Java EE Not Resolved by Default – Deployment – Security Updates – Changes to Garbage Collection – Removed Tools and Components – Removed macOS-Specific Features
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Modular Development with JDK 10 19
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 10
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 10 is the open-source reference implementation of the Java SE 10 Platform as defined by JSR 383 in the JCP 21 • JEP 286: Local-Variable Type Inference • JEP 296: Consolidate the JDK Forest into a Single Repository • JEP 304: Garbage-Collector Interface • JEP 307: Parallel Full GC for G1 • JEP 310: Application Class-Data Sharing • JEP 312: Thread-Local Handshakes • JEP 313: Remove the Native-Header Generation Tool (javah) • JEP 314: Additional Unicode Language-Tag Extensions • JEP316: Heap Allocation on Alternative Memory Devices • JEP 317: Experimental Java-Based JIT Compiler • JEP 319: Root Certificates • JEP 322: Time-Based Release Versioning http://openjdk.java.net/projects/jdk/10/
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java Development Kit (JDK) Java Runtime Environment (JRE) JDK, JRE and JVM javac Standard Libraries Other Developer Tools (eg, javadoc) JVM
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK “The place to collaborate on an open-source implementation of the Java Platform, Standard Edition, and related projects.” In a Nutshell
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK • Started by Sun Microsystems in November 2006 – 2007: JDK Project Released under GPL v2 + CPE – 2007-2009: Ideas, Code, Committers, Projects, OpenJDK 6, JDK 7 Milestone – 2010 – Present (Post Sun Microsystems Acquisition) • JDK 7, JDK 8, JDK 9 releases • OpenJDK Bylaws Ratified - New Governance and Governing Board • Oracle and Apple announce OpenJDK project for MacOS X • OpenJDK Reference Implementation for Java SE releases after Java SE 7 • Hundreds of new Contributors, Dozens of new companies participating – eg, SAP, Twitter, Azul, Amazon, Alibaba, and others and many Individuals Announce Participation A Brief History
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Dozens of Projects Java SE RI Binaries Open Community – GPL v2 + Classpath Exception OpenJDK Cycle Customized VM for Internal Use ...and many more Both Gratis and Commercial offerings (Including Support, Enterprise tooling, etc, available) Source contributions Companies AND Individuals
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK • Clear commitment from Oracle • August 2017, Oracle announced plans to Open Source it’s commercial Oracle JDK features, and produce OpenJDK binaries • Pipeline of new and interested Contributors and Participants • Oracle continues investment in OpenJDK: – Language, JVM, core libraries, PM – Open sourcing of previously internal/closed features – Enjoying benefits from the rebooted governance & retooling infrastructure – ever evolving
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Community Engagement Fix build warnings, trivial bugs, test and report regressions Non-complex bugs, review, test portingIntermediate Starter Advanced Solving non-trivial bugs
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK Project • Open source implementation of Java SE • Licensed under GPLv2 with classpath exception • Reference implementation for Java SE 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, .. • Different vendors/implementers working in common space – Oracle, IBM, Intel, Twitter, Azul, Google, RedHat, SAP • Many Java SE related projects
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Contributor Agreement - OCA • Copyright and patent sharing agreement with regards to your contribution – Simple dual license model • You and Oracle could treat the contribution as being the sole owner • Oracle guarantees to always publish any contribution under a suitable Free Software Foundation (FSF) or Open Source Initiative (OSI) approved license
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK and Java Ownership • Java is a registered trademark of Oracle – OpenJDK is named idependently – Access to the Technology Compatibility Kit (TCK) is restricted • TCK access requires to sign the OpenJDK Community TCK License Agreement (OCTLA) – OpenJDK or substantially projects only – OCTLA did not allow to disclose TCK information to Non-OCTLA licensees • OCTLA is not a trademark license • OpenJDK could be used according to the OpenJDK Trademark Notice – http://openjdk.java.net/legal/openjdk-trademark-notice.html
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK Infrastructure • OpenJDK homepage • Mercurial repositories – Forests of nested sub-repositories • Mailing lists • JDK Bug System – https://bugs.openjdk.java.net • Code review server cr.openjdk.java.net – Review requests in Webrev format – Access only for Author or higher roles • OpenJDK Wiki for group member only to get write access
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK Bug Reporting • Bug should be reproduced with the latest builds • Debug build is appropriate • Simple test case desirable (Jtreg test, ..) • JDK Bug System search for similar bugs – Public visible bugs – Invisible bugs like security bugs and customer bugs • Non-Authors bug submit only with Java Bug Database and temp bug ID – https://bugs.java.com/ • Use to write directly to the mailing list for simple reproducible bugs
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK Tools - Mercurial • Mercurial is a distributed source control system implemented in Python • OpenJDK uses nested sub-repositories, i.e. forest: – to clone them manually, like corba, hotspot, jaxp, jaxws, jdk, langtools, nashorn $ hg clone http://hg.openjdk.java.net/jdk9/dev jdk9-dev $ cd jdk9-dev $ hg clone http://hg.openjdk.java.net/jdk9/dev/hotspot $ hg clone http://hg.openjdk.java.net/jdk9/dev/nashorn – or use the get_source.sh script which does the same in parallel $ hg clone http://hg.openjdk.java.net/jdk9/dev jdk9-dev $ cd jdk9-dev $ sh get_source.sh • Use common/bin/hgforest.sh to execute hg commands in all repositories
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Difference between OpenJDK and Oracle JDK • Security • Performance • Support
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 8 Update Information • All information about JDK 8 Update Releases http://openjdk.java.net/projects/jdk8u/ • Send bug reports - Report a Bug or Request a Feature http://bugreport.java.com/bugreport/ • Track bug reports - Tracking Your Issues In The JDK Bug System https://robilad.livejournal.com/139637.html • How to contribute and Submit a patch http://openjdk.java.net/contribute/ • Nominating a Contributor or Author to be a Committer http://openjdk.java.net/projects/#project-committer
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Enhancement Proposal’s (JEP’s) • Regularly updated list of proposals – Serve as the long-term roadmap for JDK release projects – Roadmap extends for at least three years • Uniform format and a central archive for enhancement proposals – Interested parties can find, read, comment, and contribute • Process is open to every OpenJDK Committer • Enhancement is a non-trivial change to the JDK code base – Two or more weeks of engineering effort – significant change to JDK or development processes and infrastructure – High demand from developers or customers • JDK Enhancement-Proposal & Roadmap Process http://openjdk.java.net/jeps/1
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java SE 8 Reference Implementations • Available at https://jdk8.java.net/java-se-8-ri/ • Based solely upon open source code from JDK 8 Project in OpenJDK – RI binaries source code available under the GPLv2 in a single zip file (118 MB) • Binaries provided – Oracle Linux 6.1 x64 Java Development Kit (154 MB) – Windows 7 i586 Java Development Kit (90.1 MB) – Oracle Linux 6.1 i586 (for Compact Profiles) JRE, see JEP 161 Compact Profiles • Binaries provided primarily for use by implementor’s of the Java SE 8 Platform Specification • Recommended for reference purposes only • Reference Implementations have been approved by the JCP • They will receive no updates, not even for security issues • RI Binaries under the GNU General Public License version 2 – and under the Oracle Binary Code License
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 8 Updates Project in OpenJDK • Oracle JDK 8 Updates based on an OpenJDK Project • Web Site: http://openjdk.java.net/projects/jdk8u • Information on developers and development processes • Q & A and status updates • Sources: http://hg.openjdk.java.net/jdk8u/jdk8u • Master forest: jdk8u/jdk8u • Development forest: http://hg.openjdk.java.net/jdk8u/jdk8u-dev • Mailing list: jdk8u-dev@openjdk.java.net 39
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Release Cycle & Oracle OpenJDK Builds
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 41 • Oracle has started to produce OpenJDK Builds too • Oracle has announced they plan to Open Source all Oracle JDK “Commercial Features” • The goal is that OpenJDK Builds be completely interchangeable with the Oracle JDK
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 42 New JDK Release Model - LTS Every 3 years Y1 Y2 Y3 Y4 Y5 Y6 Y7 9 10 11 LTS 12 13 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 14 15 16 17 LTS 18 19
  • 43. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 43 New JDK Release Model – Starting with JDK 9 ‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32 9 10 11 LTS 12 13 14 15 16 17 LTS JDK 8 JDK 7 JDK 6
  • 44. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 44 Oracle JDK Binaries 9 10 11 LTS 12 13 14 15 16 17 LTS JDK 8 JDK 7 JDK 6 ‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32
  • 45. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 45 Oracle JDK & OpenJDK 9 10 11 LTS 12 13 14 15 16 17 LTS JDK 8 JDK 7 JDK 6 ‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32 Oracle JDK OpenJDK - GPL
  • 46. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 46 New JDK Release model 9 10 11 LTS 19.3 19.9 20.3 20.9 21.3 17 LTS JDK 8 JDK 7 JDK 6 9 18.3 ‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ‘25 ‘26 ‘27 ‘28 ‘29 ‘30 ‘31 ‘32 21.918.9 22.3 22.9 29.923.9 24.3 24.9 25.3 25.9 26.3 26.9 27.3 27.9 28.3 28.9 29.323.3 30.3 30.9 31.3 31.9 32.3 Oracle JDK OpenJDK - GPL 23 LTS 29 LTS 35 LTS
  • 47. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Summary 47 • The Java platform development on OpenJDK is becoming more open – Contributing all commercial features – GPL + CPE build • The cloud is demanding a faster pace and continuous delivery – Uptake new Java releases every 6-month • Let‘s continue to innovate and advance the Java SE Platform on OpenJDK together! • Join and become an OpenJDK contributor – https://openjdk.java.net
  • 48. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Danke! Wolfgang.Weigend@oracle.com Twitter: @wolflook 48