SlideShare a Scribd company logo
1 of 92
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 11 and OpenJDK 11
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 11 Migration Guide and Features
Graal
OpenJDK
Release Cycle & Oracle OpenJDK Builds
Summary
1
2
3
4
3
5
6
7
8
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
 Rules for Java CPU’s
 Main release for security vulnerabilities
 Covers all JDK families (11, 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 11.0.1 - Security Baselines
JRE Family Version
JRE Security Baseline
(Full Version String)
10 10.0.99
9 9.0.99
8 1.8.0_191-b12
7 1.7.0_201-b11
6 1.6.0_211-b11
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
† Excluding Deployment Technology and JavaFX
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Support Roadmap*
http://www.oracle.com/technetwork/java/eol-135779.html
 Das Oracle JDK 11 darf nur mit der Java SE Subscription produktiv
eingesetzt werden, ansonsten ist es frei einsetzbar nur für Entwicklung,
Testbetrieb, Prototyping und für Demozwecke:
 Oracle JDK and OpenJDK builds from Oracle
Starting with Java SE 9, in addition to providing Oracle JDK for free under the BCL,
Oracle also started providing builds of OpenJDK under an open source license (similar
to that of Linux). Oracle is working to make the Oracle JDK and OpenJDK builds from
Oracle interchangeable - targeting developers and organizations that do not want
commercial support or enterprise management tools. Beginning with Oracle Java SE
11 (18.9 LTS), the Oracle JDK will continue to be available royalty-free for
development, testing, prototyping or demonstrating purposes. As announced in
September 2017, with the OracleJDK and builds of Oracle OpenJDK being
interchangeable for releases of Java SE 11 and later, the Oracle JDK will primarily be
for commercial and support customers and OpenJDK builds from Oracle are for those
who do not want commercial support or enterprise management tools.
 Wer das Oracle JDK nicht einsetzen möchte, kann das äquivalente
Oracle OpenJDK verwenden:
 Java could be used without the Oracle Java SE Subscription with Oracle OpenJDK as an
equivalent to the Oracle JDK. The OpenJDK release cadence is about two OpenJDK major
versions per year. There would be almost no difference between Oracle JDK and Oracle
OpenJDK but the OpenJDK comes without Java engineering support agreement for
customers.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Support for Deployment Technology & JavaFX
http://www.oracle.com/technetwork/java/eol-135779.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Subscription
• Oracle Java SE Subscription for Desktops, Servers or Cloud deployments
Java SE Subscription is a simple, low-cost monthly subscription that includes Java SE Licensing and Support for use on Desktops, Servers or
Cloud deployments, It follows a commonly used model, popular with Linux distributions. The subscription provides access to tested and
certified performance, stability, and security updates for Java SE, directly from Oracle. It also includes access to My Oracle Support (MOS)
24x7, support in 27 languages, Java SE 8 Desktop management, monitoring, and deployment features, among other benefits.
• Java SE Subscription cost
Desktop pricing is $2.50 per user per month, or lower with tiered volume discounts. Processor pricing for use on Servers and/or Cloud
deployments is $25.00 per month or lower.
• Java SE Subscription What is the length of terms
Standard term is one year, with two and three-year terms available.
• Java SE Subscription support updates
Comprehensive Java SE Support is central to the Java SE Subscription and is provided via My Oracle Support (MOS)
• Calculator
 Metric: Named User Plus, or Processor
 Term: 1 Year .. 3 Years
 Quantity: Anzahl
•
http://www.oracle.com/technetwork/java/javaseproducts/overview
/javasesubscriptionfaq-4891443.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle Java SE Subscription Global Price List
Prices in USA (Dollar)
http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Java Client Roadmap Update (1)
Java Web Start and Pre-Installed Java Runtime Environments
13
• 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. | 14
• 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. | 15
• install4j is a multi-platform Java installer builder that generates native installers
and application launchers for Java applications.
• With install4j, you can configure the screen flow for the installer and uninstaller
in any way you like. install4j provides screens and actions for a wide variety of
use cases and allows you to create your own actions directly in the install4j IDE.
Actions can be attached to each screen, making install4j a visual programming
system far more powerful than traditional installer builders.
• install4j offers several templates for updaters that enable you to create an auto-
update solution for your application with just a few clicks. Auto-updaters are fully
customizable, so they can support your special requirements for a large number
of scenarios. More generally, install4j supports the creation of custom installer
applications that are packaged with your application.
Install4J - Java Installer (1)
ej-technologies
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 16
• Simple creation of custom screens
• Native launcher generation
• Advanced JRE bundling
• Cross-platform support
• Extensive i18n support
– install4j fully supports you in localizing your installer to multiple languages.
• Extensibility
– install4j is extensible. With its JavaBeans-based extension model and its well-documented API, you can
add your own actions, screens and form components to the component registries in install4j. All pre-
defined components in install4j are programmed that way. With this flexibility, you can quickly
integrate your own code into the installer or create extensions that can be reused in multiple projects.
–
Install4J - Java Installer (2)
ej-technologies
Windows
macOS
Linux
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later
Insights and updates on Java SE and OpenJDK from
the Java Platform Group Product Management Team
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (1)
Exec Summary
18
• Starting with Java 11, Oracle will provide JDK releases under the open
source GNU General Public License v2, with the Classpath Exception
(GPLv2+CPE), and under a commercial license for those using the Oracle
JDK as part of an Oracle product or service, or who do not wish to use open
source software. This combination of using an open source license and a
commercial license replaces the historical “BCL” license, which had a
combination of free and paid commercial terms.
• Different builds will be provided for each license, but these builds are
functionally identical aside from some cosmetic and packaging differences,
described in detail below.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (2)
From the BCL to the GPL
19
• The Binary Code License for Oracle Java SE technologies (“BCL”) has been
the primary license for Oracle Java SE technologies for well over a decade.
The BCL permits use without license fees under certain conditions. To
simplify things going forward, Oracle started providing open source
licensed OpenJDK builds as of Java 9, using the same license model as the
Linux platform.
• If you are used to getting Oracle Java SE binaries for free, you can simply
continue doing so with Oracle’s OpenJDK builds available at jdk.java.net.
• If you are used to getting Oracle Java SE binaries as part of a commercial
product or service from Oracle, then you can continue to get Oracle JDK
releases through My Oracle Support (MOS), and other locations.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (3)
Functionally identical and interchangeable ...
20
• Oracle’s BCL-licensed JDK historically contained “commercial features” that
were not available in OpenJDK builds. As promised, however, over the past
year Oracle has contributed these features to the OpenJDK Community,
including:
– Java Flight Recorder,
– Java Mission Control,
– Application Class-Data Sharing, and
– ZGC.
• From Java 11 forward, therefore, Oracle JDK builds and OpenJDK builds will
be essentially identical.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (4)
... yet with some cosmetic and packaging differences
21
• There do remain a small number of differences, some intentional and
cosmetic, and some simply because more time to discuss with OpenJDK
contributors is warranted.
– Oracle JDK 11 emits a warning when using the -XX:+UnlockCommercialFeatures
option, whereas in OpenJDK builds this option results in an error. This option was
never part of OpenJDK and it would not make sense to add it now, since there are no
commercial features in OpenJDK. This difference remains in order to make it easier
for users of Oracle JDK 10 and earlier releases to migrate to Oracle JDK 11 and later.
– Oracle JDK 11 can be configured to provide usage log data to the “Advanced
Management Console” tool, which is a separate commercial Oracle product. We will
work with other OpenJDK contributors to discuss how such usage data may be useful
in OpenJDK in future releases, if at all. This difference remains primarily to provide a
consistent experience to Oracle customers until such decisions are made.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (5)
... yet with some cosmetic and packaging differences
22
• The javac --release command behaves differently for the Java 9 and
Java 10 targets, since in those releases the Oracle JDK contained some
additional modules that were not part of corresponding OpenJDK releases:
• javafx.base
• javafx.controls
• javafx.fxml
• javafx.graphics
• This difference remains in order to provide a consistent experience for
specific kinds of legacy use. These modules are either now available
separately as part of OpenJFX, are now in both OpenJDK and the Oracle JDK
because they were commercial features which Oracle contributed to OpenJDK
(e.g., Flight Recorder), or were removed from Oracle JDK 11 (e.g., JNLP).
• javafx.media
• javafx.web
• java.jnlp
• jdk.jfr
• jdk.management.cmm
• jdk.management.jfr
• jdk.management.resource
• jdk.packager.services
• jdk.snmp
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (6)
... yet with some cosmetic and packaging differences
23
• The output of the java --version and java -fullversion
commands will distinguish Oracle JDK builds from OpenJDK builds, so that
support teams can diagnose any issues that may exist. Specifically, running
java --version with an Oracle JDK 11 build results in:
– java 11 2018-09-25
– Java(TM) SE Runtime Environment 18.9 (build 11+28)
– Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
• And for an OpenJDK 11 build:
– openjdk version "11" 2018-09-25
– OpenJDK Runtime Environment 18.9 (build 11+28)
– OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (7)
... yet with some cosmetic and packaging differences
24
• The Oracle JDK has always required third party cryptographic providers to
be signed by a known certificate. The cryptography framework in
OpenJDK has an open cryptographic interface, meaning it does not
restrict which providers can be used. Oracle JDK 11 will continue to
require a valid signature, and Oracle OpenJDK builds will continue to
allow the use of either a valid signature or unsigned third party crypto
provider.
• Oracle JDK 11 will continue to include installers, branding and JRE
packaging for an experience consistent with legacy desktop uses. Oracle
OpenJDK builds are currently available as zip and tar.gz files, while
alternative distribution formats are being considered.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK Releases for Java 11 and later (8)
What should we call them?
25
• Ideally, we would simply refer to all Oracle JDK builds as the
“Oracle JDK,” either under the GPL or the commercial license
depending on your situation. However, for historical reasons while
the small remaining differences exist, we will refer to them
separately as Oracle’s OpenJDK builds, and the Oracle JDK.
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
27
• 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
28
• 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 Mission Control 7.0 Early Access
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK Mission Control 7.0 – Early Access Release
30
https://jdk.java.net/jmc/
• JFR is included in JDK11
‒ JFR records the data
• JMC as the data visualizing
tool is separate available
‒ https://jdk.java.net/jmc/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK Mission Control 7.0 – Early Access Release
31
https://jdk.java.net/jmc/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK Mission Control 7.0 – Early Access Release
32
https://jdk.java.net/jmc/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK Mission Control 7.0 – Early Access Release
33
https://jdk.java.net/jmc/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 Migration Guide
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Migrating to Oracle JDK 11 - Migration Guide (1)
https://docs.oracle.com/en/java/javase/11/migrate/index.html
35
• Migrating to JDK 11
– 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 11.
– This guide is not significantly different than the JDK 10 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 11 - Migration Guide (2)
https://docs.oracle.com/en/java/javase/11/migrate/index.html
36
• Prepare for Migration
• Download JDK 11
• 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 11 - Migration Guide (3)
https://docs.oracle.com/en/java/javase/11/migrate/index.html
37
• Migrating from JDK 8 to later JDK releases
– New Version-String Scheme
– Understanding Runtime Access Warnings
– Changes to the Installed JDK/JRE Image
– Removed or Changed APIs
– Deployment
– Security Updates in JDK 9
– Changes to Garbage Collection
– Removed Tools and Components
– Removed macOS-Specific Features
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Issues fixed in JDK 11 per organization
https://blogs.oracle.com/java-platform-group/building-jdk-11-together
38
• JDK BUG System commits
• Overall 2468 JIRA issues
marked as fixed in JDK 11
• 1963 issues were completed
by Oracle
• 505 issues were contributed
by individual developers and
developers working for other
organizations
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle JDK 11 – Changes in the Release Notes
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html
39
• The deployment stack, required for Applets and Web Start Applications, was deprecated in JDK 9 and has been removed in JDK 11.
• Without a deployment stack, the entire section of supported browsers has been removed from the list of supported
configurations of JDK 11.
• Auto-update, which was available for JRE installations on Windows and macOS, is no longer available.
• In Windows and macOS, installing the JDK in previous releases optionally installed a JRE. In JDK 11, this is no longer an option.
• In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered. Users can use jlink to create smaller custom
runtimes.
• JavaFX is no longer included in the JDK. It is now available as a separate download from openjfx.io.
• Java Mission Control, which was shipped in JDK 7, 8, 9, and 10, is no longer included with the Oracle JDK. It is now a separate
download.
• Previous releases were translated into English, Japanese, and Simplified Chinese as well as French, German, Italian, Korean,
Portuguese (Brazilian), Spanish, and Swedish. However, in JDK 11 and later, French, German, Italian, Korean, Portuguese (Brazilian),
Spanish, and Swedish translations are no longer provided.
• Updated packaging format for Windows has changed from tar.gz to .zip, which is more common in Windows OSs.
• Updated package format for macOS has changed from .app to .dmg, which is more in line with the standard for macOS.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Modular Development with JDK 11
40
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 41
jlink - generiert JRE und Applikations-Images (1)
• Platzsparende Runtime, inklusive eigener Anwendungsmodule im frei wählbaren Verzeichnis
jlink <options> --module-path <modulepath> --output <path>
jlink --module-path $JDKMODS:mlib --add-modules myapp --output myimage
C:> C:jdk-11binjlink --module-path C:jdk-11jmods;mlib --add-modules com.greetings --
compress=2 --verbose --output greetingsapplication
com.greetings file:///C:/mlib/com.greetings.jar
java.base file:///C:/jdk-11/jmods/java.base.jmod
Providers: java.base provides java.nio.file.spi.FileSystemProvider used by java.base
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 42
jlink - generiert JRE und Applikations-Images (2)
• Image-Verzeichnis C:greetingsapplication 27,5 MB
• Datei release mit früherem „build 9-ea+142-jigsaw-nightly-h5677-20161102”
C:greetingsapplication> dir
Directory of C:greetingsapplication
20.11.2018 17:44 <DIR> bin
20.11.2018 17:44 <DIR> conf
20.11.2018 17:44 <DIR> include
20.11.2018 17:44 <DIR> legal
20.11.2018 17:44 <DIR> lib
20.11.2018 17:44 54 release
#Thu Mar 09 22:11:23 CET 2017
OS_NAME="Windows"
MODULES="java.base com.greetings"
OS_VERSION="5.1"
OS_ARCH="i586"
JAVA_VERSION="9"
JAVA_FULL_VERSION="9-ea"
• Datei release „11“
JAVA_VERSION="11"
MODULES="java.base com.greetings"
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 43
jlink - generiert JRE und Applikations-Images (3)
• Image-Verzeichnis C:greetingsapplication 27,5 MB
C:greetingsapplicationbin> java -m com.greetings/com.greetings.Main
Greetings!
C:greetingsapplicationbin> dir
20.11.2018 17:44 154.472 java.dll
20.11.2018 17:44 279.400 java.exe
20.11.2018 17:44 279.400 javaw.exe
20.11.2018 17:44 31.080 jimage.dll
20.11.2018 17:44 246.632 jli.dll
20.11.2018 17:44 20.840 keytool.exe
20.11.2018 17:44 687.240 msvcp140.dll
20.11.2018 17:44 91.496 net.dll
20.11.2018 17:44 63.848 nio.dll
20.11.2018 17:44 <DIR> server
20.11.2018 17:44 1.001.272 ucrtbase.dll
20.11.2018 17:44 89.752 vcruntime140.dll
20.11.2018 17:44 56.168 verify.dll
20.11.2018 17:44 81.256 zip.dll
C:greetingsapplicationbin> java -jar C:/mlib/com.greetings.jar
Greetings!
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 44
jlink - generiert JRE und Applikations-Images (4)
• Image-Verzeichnis C:greetingsapplication 27,5 MB
C:greetingsapplicationbin> java -m com.greetings/com.greetings.Main
Greetings!
C:greetingsapplicationbin> java --show-module-resolution -m com.greetings/com.greetings.Main
root com.greetings jrt:/com.greetings
Greetings!
C:greetingsapplicationbin> java --list-modules -m com.greetings/com.greetings.Main
com.greetings
java.base@11
C:greetingsapplicationbin> java -verbose -m com.greetings/com.greetings.Main
...
[0.718s][info][class,load] java.nio.charset.CoderResult source: jrt:/java.base
Greetings!
[0.719s][info][class,load] jdk.internal.misc.TerminatingThreadLocal$1 source: jrt:/java.base
[0.720s][info][class,load] java.lang.Shutdown source: jrt:/java.base
[0.721s][info][class,load] java.lang.Shutdown$Lock source: jrt:/java.base
C:greetingsapplicationbin>
java --add-exports java.base/jdk.internal.ref=ALL-UNNAMED -m com.greetings/com.greetings.Main
Greetings!
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 Features
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 Features – JEP’s included
46
– 181: Nest-Based Access Control
– 309: Dynamic Class-File Constants
– 315: Improve Aarch64 Intrinsics
– 318: Epsilon: A No-Op Garbage Collector
– 320: Remove the Java EE and CORBA Modules
– 321: HTTP Client (Standard)
– 323: Local-Variable Syntax for Lambda Parameters
– 324: Key Agreement with Curve25519 and Curve448
– 327: Unicode 10
– 328: Flight Recorder
– 329: ChaCha20 and Poly1305 Cryptographic Algorithms
– 330: Launch Single-File Source-Code Programs
– 331: Low-Overhead Heap Profiling
– 332: Transport Layer Security (TLS) 1.3
– 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
– 335: Deprecate the Nashorn JavaScript Engine
– 336: Deprecate the Pack200 Tools and API http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 181 Nest-Based Access Control
47
 Summary: Introduce nests, an access-control context that aligns with the existing notion of nested types
in the Java programming language. Nests allow classes that are logically part of the same code entity, but
which are compiled to distinct class files, to access each other's private members without the need for
compilers to insert accessibility-broadening bridge methods.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 309 Dynamic Class-File Constants
48
 Summary: Extend the Java class-file format to support a new constant-pool form, CONSTANT_Dynamic.
Loading a CONSTANT_Dynamic will delegate creation to a bootstrap method, just as linking an
invokedynamic call site delegates linkage to a bootstrap method.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 315 Improve Aarch64 Intrinsics
49
 Summary: Improve the existing string and array intrinsics, and implement new intrinsics for the
java.lang.Math sin, cos and log functions, on AArch64 processors.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 318 Epsilon: A No-Op Garbage Collector
50
 Summary: Develop a GC that handles memory allocation but does not implement any actual memory
reclamation mechanism. Once the available Java heap is exhausted, the JVM will shut down.
 Goals
Provide a completely passive GC implementation with a bounded allocation limit and the lowest latency
overhead possible, at the expense of memory footprint and memory throughput. A successful
implementation is an isolated code change, does not touch other GCs, and makes minimal changes in the
rest of JVM.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 320 Remove the Java EE and CORBA Modules
51
 Summary: Remove the Java EE and CORBA modules from the Java SE Platform and the JDK. These
modules were deprecated in Java SE 9 with the declared intent to remove them in a future release.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 321 HTTP Client (Standard)
52
 Summary: Standardize the incubated HTTP Client API introduced in JDK 9, via JEP 110, and updated in JDK
10.
 Goals
In addition to the goals of JEP 110, this JEP will:
• Take into account feedback received on the incubated API,
• Provide a standardized API, in the java.net.http package, based upon the incubated API, and
• Remove the incubated API.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 323 Local-Variable Syntax for Lambda
Parameters
53
 Summary: Allow var to be used when declaring the formal parameters of implicitly typed lambda
expressions.
 Goals
Align the syntax of a formal parameter declaration in an implicitly typed lambda expression with the syntax
of a local variable declaration.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 324 Key Agreement with Curve25519 and
Curve448
54
 Summary: Implement key agreement using Curve25519 and Curve448 as described in RFC 7748.
 Goals
RFC 7748 defines a key agreement scheme that is more efficient and secure than the existing elliptic curve
Diffie-Hellman (ECDH) scheme. The primary goal of this JEP is an API and an implementation for this
standard. Additional implementation goals are:
1. Develop a platform-independent, all-Java implementation with better performance than the existing
ECC (native C) code at the same security strength.
2. Ensure that the timing is independent of secrets, assuming the platform performs 64-bit integer
addition/multiplication in constant time. In addition, the implementation will not branch on secrets.
These properties are valuable for preventing side-channel attacks.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 327 Unicode 10
55
 Summary: Upgrade existing platform APIs to support version 10.0 of the Unicode Standard.
 Goals
Support the latest version of Unicode, mainly in the following classes:
• Character and String in the java.lang package,
• NumericShaper in the java.awt.font package, and
• Bidi, BreakIterator, and Normalizer in the java.text package.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 328 Flight Recorder
56
 Summary: Provide a low-overhead data collection framework for troubleshooting Java applications and
the HotSpot JVM.
 Goals
• Provide APIs for producing and consuming data as events
• Provide a buffer mechanism and a binary data format
• Allow the configuration and filtering of events
• Provide events for the OS, the HotSpot JVM, and the JDK libraries
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 329 ChaCha20 and Poly1305 Cryptographic
Algorithms
57
 Summary: Implement the ChaCha20 and ChaCha20-Poly1305 ciphers as specified in RFC 7539. ChaCha20
is a relatively new stream cipher that can replace the older, insecure RC4 stream cipher.
 Goals
• Provide ChaCha20 and ChaCha20-Poly1305 Cipher implementations. These algorithms will be
implemented in the SunJCE provider.
• Provide a KeyGenerator implementation that creates keys suitable for ChaCha20 and ChaCha20-
Poly1305 algorithms.
• Provide an AlgorithmParameters implementation for use with the ChaCha20-Poly1305 algorithm.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 330 Launch Single-File Source-Code Programs
58
 Summary: Enhance the java launcher to run a program supplied as a single file of Java source code,
including usage from within a script by means of "shebang" files and related techniques.
 Non-Goals
It is not a goal to change either the Java Language Specification (JLS) or javac to accommodate shebang files.
Likewise, it is not a goal to evolve the Java language into a general purpose scripting language.
It is not a goal of this JEP to change the Java Language Specification to accommodate simpler ways of writing
small programs, such as eliminating the need for the standard public static void main(String[] args) method.
However, it is expected that any such changes to the Java language will be usable in conjunction with this
feature.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 331 Low-Overhead Heap Profiling
59
 Summary: Provide a low-overhead way of sampling Java heap allocations, accessible via JVMTI.
 Goals
Provide a way to get information about Java object heap allocations from the JVM that:
• Is low-overhead enough to be enabled by default continuously,
• Is accessible via a well-defined, programmatic interface,
• Can sample all allocations (i.e., is not limited to allocations that are in one particular heap region or that
were allocated in one particular way),
• Can be defined in an implementation-independent way (i.e., without relying on any particular GC
algorithm or VM implementation), and
• Can give information about both live and dead Java objects.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 332 Transport Layer Security (TLS) 1.3
60
 Summary: Implement version 1.3 of the Transport Layer Security (TLS) Protocol RFC 8446.
 Non-Goals
It is not a goal to support version 1.3 of the Datagram Transport Layer Security (DTLS) Protocol. It is also not
a goal to support every feature of TLS 1.3; see the Description section for more details on what will be
implemented.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 333 ZGC A Scalable Low-Latency Garbage
Collector (Experimental)
61
 Summary: The Z Garbage Collector, also known as ZGC, is a scalable low-latency garbage collector.
• Scalable low latency garbage collector capable of handling heaps ranging from gigabytes to terabytes in size, with GC pause times
not exceeding 10ms
 Goals
• GC pause times should not exceed 10ms
• Handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes)
in size
• No more than 15% application throughput reduction compared to using G1
• Lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers
• Initially supported platform: Linux/x64
We have strong ambitions to meet these goals for a large set of relevant workloads. At the same time, we
want to acknowledge that we don't see these goals as hard requirements for every conceivable workload.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 335 Deprecate the Nashorn JavaScript Engine
62
 Summary: Deprecate the Nashorn JavaScript script engine and APIs, and the jjs tool, with the intent to
remove them in a future release.
 Non-Goals
This deprecation does not affect, in any way, the javax.script API.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JDK 11 – JEP 336 Deprecate the Pack200 Tools and API
63
 Summary: Deprecate the pack200 and unpack200 tools, and the Pack200 API in java.util.jar.
 Description
Three types in the java.base module will be terminally deprecated, that is, annotated with @Deprecated(forRemoval=true):
• java.util.jar.Pack200
• java.util.jar.Pack200.Packer
• java.util.jar.Pack200.Unpacker
The jdk.pack module, which contains the pack200 and unpack200 tools, will also be terminally deprecated.
Running pack200 or unpack200 will display a warning about the planned removal of the tool. Running jar -c with the sub-option n (to
normalize the archive) will display a warning about the planned removal of the sub-option. The documentation for all three tools will
indicate the deprecation and planned removal.
A separate JEP will be filed for the actual removal of the types and module in a future JDK feature release.
http://openjdk.java.net/projects/jdk/11/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Graal
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JIT Compiler
65
• C1 Client Compiler
– Minimiert Startup-Zeit
• C2 Server Compiler
– Dauerhafte Performance-Verbesserungen
– Intensivere Analyse vom ausgeführten Code
– Optimierungen können besser platziert werden
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JIT Compiler with Tiered Compilation
66
• C1 Client Compiler
– Minimiert Startup-Zeit
– java -client -XX:+TieredCompilation
• C2 Server Compiler
– Läuft mit, aber ohne Tiered Compilation
• Tiered-Compilation Ausführungs-Level
– Level 0: interpreted code
– Level 1: simple C1 compiled code (with no profiling)
– Level 2: limited C1 compiled code (with light profiling)
– Level 3: full C1 compiled code (with full profiling)
– Level 4: C2 compiled code (uses profile data from the previous steps)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JIT Compiler written in C++
67
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
JIT Compiler written in Java
68
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Graal
http://openjdk.java.net/projects/graal/
69
• The aim of this project is to expose VM functionality via Java APIs. Namely, we want to
make it feasible to write in Java a dynamic compiler and interpreter for a language
runtime. These components will seamlessly integrate and leverage existing VM
infrastructure (e.g., HotSpot).
• The design of the dynamic compiler uses features of Java that make it highly extensible
such that adding extra IR nodes and/or transformations is straightforward. At the same
time, it should produce excellent code quality without compromising compile time and
memory usage by the JVM.
• Building on the compiler, we aim to develop a multi-language interpreter framework.
Java will be just one member in the family of supported languages. The use of partial
evaluation will allow the framework to deliver competitive performance.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
GraalVM Repository Structure
70
• Graal SDK contains long term supported APIs of GraalVM.
• Graal compiler written in Java that supports both dynamic and static compilation and can integrate with the
Java HotSpot VM or run standalone.
• Truffle language implementation framework for creating languages and instrumentations for GraalVM.
• Tools contains a set of tools for GraalVM languages implemented with the instrumentation framework.
• Substrate VM framework that allows ahead-of-time (AOT) compilation of Java applications under closed-
world assumption into executable images or shared objects.
• Sulong is an engine for running LLVM bitcode on GraalVM.
• TRegex is an implementation of regular expressions which leverages GraalVM for efficient compilation of
automata.
• VM includes the components to build a modular GraalVM image.
The GraalVM main source repository includes these components
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
GraalVM
71
• Graal
– JIT Compiler
• Graal in GraalVM - A new Java JIT Compiler
– Graal integrated via Java Virtual Machine Compiler Interface (JVM CI)
– Use a JDK with Graal (jdk.internal.vm.compiler)
– –XX:+UnlockExperimentalVMOptions –XX:+EnableJVMCI –XX:+UseJVMCICompiler
• Truffle
– Language Implementation Framework
• Substrate VM
– Runtime Library and a Set of Tools for
• Building Java AOT Compiled Code
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
GraalVM - Polyglot (1)
72
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
GraalVM - Polyglot (2)
73
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
(e.g., javadoc)
JVM
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
http://openjdk.java.net/census#members
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. |
Oracle Contributor Agreement - OCTLA Signatories List
• The following organizations and individuals have signed the OpenJDK Community
TCK License Agreement (OCTLA) and been granted access to the JCK
– Signatories for Java SE 9, or later
http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html
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. |
Difference between Oracle OpenJDK & Oracle JDK with Java SE 8 ..
and the change since Oracle JDK 11
• Java SE 8
• Security
• Performance
• Support
• Since Oracle JDK 11 it‘s technically interchangeable
• Security
• Performance
• Support only with Oracle JDK
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
• Oracle's OpenJDK JDK binaries for Windows, macOS, and Linux are available
on release-specific pages of jdk.java.net as .tar.gz or .zip archives.
• As an example, the archives for JDK 11 may be found on jdk.java.net/11 and
may be extracted on the command line using
– $ tar xvf openjdk-11*_bin.tar.gz
or
– $ unzip openjdk-11*_bin.zip
depending on the archive type.
Download and install prebuilt OpenJDK 11 packages
https://openjdk.java.net/install/
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
• This page provides production-ready open-source builds of the Java Development Kit, version 11.0.1, an
implementation of the Java SE 11.0.1 Platform under the GNU General Public License, version 2, with the Classpath
Exception.
• Commercial builds of JDK 11.0.1 from Oracle under a non-open-source license, for a wider range of platforms, can be
found at the Oracle Technology Network.
• Documentation
– Features
– Release notes
– API Javadoc
– Tool & command reference
• Builds
– Linux / x64 tar.gz (sha256)
– macOS / x64 tar.gz (sha256)
– Windows / x64 zip (sha256)
JDK 11.0.1 General-Availability Release
https://jdk.java.net/11/
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. | 89
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. | 90
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
91
• 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. |
Thanks!
Wolfgang.Weigend@oracle.com
Twitter: @wolflook
92

More Related Content

What's hot

Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeBerry Clemens
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEdward Burns
 
Newfeaturesincontext 130911052709-phpapp01
Newfeaturesincontext 130911052709-phpapp01Newfeaturesincontext 130911052709-phpapp01
Newfeaturesincontext 130911052709-phpapp01Frank Rodriguez
 
Introduce yourself to java 17
Introduce yourself to java 17Introduce yourself to java 17
Introduce yourself to java 17ankitbhandari32
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileBerry Clemens
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015Edward Burns
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup managerBerry Clemens
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?Fred Rowe
 
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...vasuballa
 
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoringp6academy
 
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
 
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerCon8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerBerry Clemens
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkStephen Chin
 
OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...vasuballa
 
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...vasuballa
 
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2 OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2 vasuballa
 
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどJakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどオラクルエンジニア通信
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...vasuballa
 
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suite
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business SuiteOOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suite
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suitevasuballa
 

What's hot (20)

Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obiee
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
 
Newfeaturesincontext 130911052709-phpapp01
Newfeaturesincontext 130911052709-phpapp01Newfeaturesincontext 130911052709-phpapp01
Newfeaturesincontext 130911052709-phpapp01
 
Introduce yourself to java 17
Introduce yourself to java 17Introduce yourself to java 17
Introduce yourself to java 17
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobile
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?
 
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
 
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
 
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
 
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerCon8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...
 
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...
OOW15 - Building, Deploying, and Managing Smartphone Apps for Oracle E-Busine...
 
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2 OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2
OOW15 - Customer Success Stories: Upgrading to Oracle E-Business Suite 12.2
 
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなどJakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
Jakarta EE 最前線 - Jakarta EEの現在、ロードマップなど
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...
OOW15 - Oracle Enterprise Manager Cloud Control for Managing Oracle E-Busines...
 
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suite
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business SuiteOOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suite
OOW15 - Simplified and Touch-Friendly User Interface in Oracle E-Business Suite
 

Similar to It's a jdk jungle out there - JDK 11 and OpenJDK 11

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 modelsMark West
 
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
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should About5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should AboutBJIT Ltd
 
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
 
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
 
Java, app servers and oracle application grid
Java, app servers and oracle application gridJava, app servers and oracle application grid
Java, app servers and oracle application gridAlicja Sieminska
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?NIIT India
 
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
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkNeha Singh
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 

Similar to It's a jdk jungle out there - JDK 11 and OpenJDK 11 (20)

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...
 
Oracle Java License Training
Oracle Java License TrainingOracle Java License Training
Oracle Java License Training
 
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 Licensing Roadmap for Oracle License Management
Java Licensing Roadmap for Oracle License ManagementJava Licensing Roadmap for Oracle License Management
Java Licensing Roadmap for Oracle License Management
 
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
 
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
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Java Licensing Roadmap for Oracle License Management
Java Licensing Roadmap for Oracle License ManagementJava Licensing Roadmap for Oracle License Management
Java Licensing Roadmap for Oracle License Management
 
Java 101
Java 101Java 101
Java 101
 
DesktopApps.pptx
DesktopApps.pptxDesktopApps.pptx
DesktopApps.pptx
 
5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should About5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should About
 
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
 
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
 
Java, app servers and oracle application grid
Java, app servers and oracle application gridJava, app servers and oracle application grid
Java, app servers and oracle application grid
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
 
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
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 

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
 
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 (14)

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
 
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

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 

It's a jdk jungle out there - JDK 11 and OpenJDK 11

  • 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 11 and OpenJDK 11 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 11 Migration Guide and Features Graal OpenJDK Release Cycle & Oracle OpenJDK Builds Summary 1 2 3 4 3 5 6 7 8
  • 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 (11, 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 11.0.1 - Security Baselines JRE Family Version JRE Security Baseline (Full Version String) 10 10.0.99 9 9.0.99 8 1.8.0_191-b12 7 1.7.0_201-b11 6 1.6.0_211-b11 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 † Excluding Deployment Technology and JavaFX
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Support Roadmap* http://www.oracle.com/technetwork/java/eol-135779.html  Das Oracle JDK 11 darf nur mit der Java SE Subscription produktiv eingesetzt werden, ansonsten ist es frei einsetzbar nur für Entwicklung, Testbetrieb, Prototyping und für Demozwecke:  Oracle JDK and OpenJDK builds from Oracle Starting with Java SE 9, in addition to providing Oracle JDK for free under the BCL, Oracle also started providing builds of OpenJDK under an open source license (similar to that of Linux). Oracle is working to make the Oracle JDK and OpenJDK builds from Oracle interchangeable - targeting developers and organizations that do not want commercial support or enterprise management tools. Beginning with Oracle Java SE 11 (18.9 LTS), the Oracle JDK will continue to be available royalty-free for development, testing, prototyping or demonstrating purposes. As announced in September 2017, with the OracleJDK and builds of Oracle OpenJDK being interchangeable for releases of Java SE 11 and later, the Oracle JDK will primarily be for commercial and support customers and OpenJDK builds from Oracle are for those who do not want commercial support or enterprise management tools.  Wer das Oracle JDK nicht einsetzen möchte, kann das äquivalente Oracle OpenJDK verwenden:  Java could be used without the Oracle Java SE Subscription with Oracle OpenJDK as an equivalent to the Oracle JDK. The OpenJDK release cadence is about two OpenJDK major versions per year. There would be almost no difference between Oracle JDK and Oracle OpenJDK but the OpenJDK comes without Java engineering support agreement for customers.
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Support for Deployment Technology & JavaFX http://www.oracle.com/technetwork/java/eol-135779.html
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Subscription • Oracle Java SE Subscription for Desktops, Servers or Cloud deployments Java SE Subscription is a simple, low-cost monthly subscription that includes Java SE Licensing and Support for use on Desktops, Servers or Cloud deployments, It follows a commonly used model, popular with Linux distributions. The subscription provides access to tested and certified performance, stability, and security updates for Java SE, directly from Oracle. It also includes access to My Oracle Support (MOS) 24x7, support in 27 languages, Java SE 8 Desktop management, monitoring, and deployment features, among other benefits. • Java SE Subscription cost Desktop pricing is $2.50 per user per month, or lower with tiered volume discounts. Processor pricing for use on Servers and/or Cloud deployments is $25.00 per month or lower. • Java SE Subscription What is the length of terms Standard term is one year, with two and three-year terms available. • Java SE Subscription support updates Comprehensive Java SE Support is central to the Java SE Subscription and is provided via My Oracle Support (MOS) • Calculator  Metric: Named User Plus, or Processor  Term: 1 Year .. 3 Years  Quantity: Anzahl • http://www.oracle.com/technetwork/java/javaseproducts/overview /javasesubscriptionfaq-4891443.html
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Java SE Subscription Global Price List Prices in USA (Dollar) http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java Client Roadmap Update (1) Java Web Start and Pre-Installed Java Runtime Environments 13 • 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.
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 14 • 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
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 15 • install4j is a multi-platform Java installer builder that generates native installers and application launchers for Java applications. • With install4j, you can configure the screen flow for the installer and uninstaller in any way you like. install4j provides screens and actions for a wide variety of use cases and allows you to create your own actions directly in the install4j IDE. Actions can be attached to each screen, making install4j a visual programming system far more powerful than traditional installer builders. • install4j offers several templates for updaters that enable you to create an auto- update solution for your application with just a few clicks. Auto-updaters are fully customizable, so they can support your special requirements for a large number of scenarios. More generally, install4j supports the creation of custom installer applications that are packaged with your application. Install4J - Java Installer (1) ej-technologies
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 16 • Simple creation of custom screens • Native launcher generation • Advanced JRE bundling • Cross-platform support • Extensive i18n support – install4j fully supports you in localizing your installer to multiple languages. • Extensibility – install4j is extensible. With its JavaBeans-based extension model and its well-documented API, you can add your own actions, screens and form components to the component registries in install4j. All pre- defined components in install4j are programmed that way. With this flexibility, you can quickly integrate your own code into the installer or create extensions that can be reused in multiple projects. – Install4J - Java Installer (2) ej-technologies Windows macOS Linux
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later Insights and updates on Java SE and OpenJDK from the Java Platform Group Product Management Team
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (1) Exec Summary 18 • Starting with Java 11, Oracle will provide JDK releases under the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE), and under a commercial license for those using the Oracle JDK as part of an Oracle product or service, or who do not wish to use open source software. This combination of using an open source license and a commercial license replaces the historical “BCL” license, which had a combination of free and paid commercial terms. • Different builds will be provided for each license, but these builds are functionally identical aside from some cosmetic and packaging differences, described in detail below.
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (2) From the BCL to the GPL 19 • The Binary Code License for Oracle Java SE technologies (“BCL”) has been the primary license for Oracle Java SE technologies for well over a decade. The BCL permits use without license fees under certain conditions. To simplify things going forward, Oracle started providing open source licensed OpenJDK builds as of Java 9, using the same license model as the Linux platform. • If you are used to getting Oracle Java SE binaries for free, you can simply continue doing so with Oracle’s OpenJDK builds available at jdk.java.net. • If you are used to getting Oracle Java SE binaries as part of a commercial product or service from Oracle, then you can continue to get Oracle JDK releases through My Oracle Support (MOS), and other locations.
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (3) Functionally identical and interchangeable ... 20 • Oracle’s BCL-licensed JDK historically contained “commercial features” that were not available in OpenJDK builds. As promised, however, over the past year Oracle has contributed these features to the OpenJDK Community, including: – Java Flight Recorder, – Java Mission Control, – Application Class-Data Sharing, and – ZGC. • From Java 11 forward, therefore, Oracle JDK builds and OpenJDK builds will be essentially identical.
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (4) ... yet with some cosmetic and packaging differences 21 • There do remain a small number of differences, some intentional and cosmetic, and some simply because more time to discuss with OpenJDK contributors is warranted. – Oracle JDK 11 emits a warning when using the -XX:+UnlockCommercialFeatures option, whereas in OpenJDK builds this option results in an error. This option was never part of OpenJDK and it would not make sense to add it now, since there are no commercial features in OpenJDK. This difference remains in order to make it easier for users of Oracle JDK 10 and earlier releases to migrate to Oracle JDK 11 and later. – Oracle JDK 11 can be configured to provide usage log data to the “Advanced Management Console” tool, which is a separate commercial Oracle product. We will work with other OpenJDK contributors to discuss how such usage data may be useful in OpenJDK in future releases, if at all. This difference remains primarily to provide a consistent experience to Oracle customers until such decisions are made.
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (5) ... yet with some cosmetic and packaging differences 22 • The javac --release command behaves differently for the Java 9 and Java 10 targets, since in those releases the Oracle JDK contained some additional modules that were not part of corresponding OpenJDK releases: • javafx.base • javafx.controls • javafx.fxml • javafx.graphics • This difference remains in order to provide a consistent experience for specific kinds of legacy use. These modules are either now available separately as part of OpenJFX, are now in both OpenJDK and the Oracle JDK because they were commercial features which Oracle contributed to OpenJDK (e.g., Flight Recorder), or were removed from Oracle JDK 11 (e.g., JNLP). • javafx.media • javafx.web • java.jnlp • jdk.jfr • jdk.management.cmm • jdk.management.jfr • jdk.management.resource • jdk.packager.services • jdk.snmp
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (6) ... yet with some cosmetic and packaging differences 23 • The output of the java --version and java -fullversion commands will distinguish Oracle JDK builds from OpenJDK builds, so that support teams can diagnose any issues that may exist. Specifically, running java --version with an Oracle JDK 11 build results in: – java 11 2018-09-25 – Java(TM) SE Runtime Environment 18.9 (build 11+28) – Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode) • And for an OpenJDK 11 build: – openjdk version "11" 2018-09-25 – OpenJDK Runtime Environment 18.9 (build 11+28) – OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (7) ... yet with some cosmetic and packaging differences 24 • The Oracle JDK has always required third party cryptographic providers to be signed by a known certificate. The cryptography framework in OpenJDK has an open cryptographic interface, meaning it does not restrict which providers can be used. Oracle JDK 11 will continue to require a valid signature, and Oracle OpenJDK builds will continue to allow the use of either a valid signature or unsigned third party crypto provider. • Oracle JDK 11 will continue to include installers, branding and JRE packaging for an experience consistent with legacy desktop uses. Oracle OpenJDK builds are currently available as zip and tar.gz files, while alternative distribution formats are being considered.
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK Releases for Java 11 and later (8) What should we call them? 25 • Ideally, we would simply refer to all Oracle JDK builds as the “Oracle JDK,” either under the GPL or the commercial license depending on your situation. However, for historical reasons while the small remaining differences exist, we will refer to them separately as Oracle’s OpenJDK builds, and the Oracle JDK.
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Java in a World of Containers and Open Source
  • 27. 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 27 • 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
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Open source commercial features What is being open-sourced in Java 28 • 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
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Mission Control 7.0 Early Access
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Mission Control 7.0 – Early Access Release 30 https://jdk.java.net/jmc/ • JFR is included in JDK11 ‒ JFR records the data • JMC as the data visualizing tool is separate available ‒ https://jdk.java.net/jmc/
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Mission Control 7.0 – Early Access Release 31 https://jdk.java.net/jmc/
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Mission Control 7.0 – Early Access Release 32 https://jdk.java.net/jmc/
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK Mission Control 7.0 – Early Access Release 33 https://jdk.java.net/jmc/
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 Migration Guide
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 11 - Migration Guide (1) https://docs.oracle.com/en/java/javase/11/migrate/index.html 35 • Migrating to JDK 11 – 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 11. – This guide is not significantly different than the JDK 10 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.
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 11 - Migration Guide (2) https://docs.oracle.com/en/java/javase/11/migrate/index.html 36 • Prepare for Migration • Download JDK 11 • Run Your Program Before Recompiling • Update Third-Party Libraries • Compile Your Application if Needed • Run jdeps on Your Code
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Migrating to Oracle JDK 11 - Migration Guide (3) https://docs.oracle.com/en/java/javase/11/migrate/index.html 37 • Migrating from JDK 8 to later JDK releases – New Version-String Scheme – Understanding Runtime Access Warnings – Changes to the Installed JDK/JRE Image – Removed or Changed APIs – Deployment – Security Updates in JDK 9 – Changes to Garbage Collection – Removed Tools and Components – Removed macOS-Specific Features
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Issues fixed in JDK 11 per organization https://blogs.oracle.com/java-platform-group/building-jdk-11-together 38 • JDK BUG System commits • Overall 2468 JIRA issues marked as fixed in JDK 11 • 1963 issues were completed by Oracle • 505 issues were contributed by individual developers and developers working for other organizations
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle JDK 11 – Changes in the Release Notes https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html 39 • The deployment stack, required for Applets and Web Start Applications, was deprecated in JDK 9 and has been removed in JDK 11. • Without a deployment stack, the entire section of supported browsers has been removed from the list of supported configurations of JDK 11. • Auto-update, which was available for JRE installations on Windows and macOS, is no longer available. • In Windows and macOS, installing the JDK in previous releases optionally installed a JRE. In JDK 11, this is no longer an option. • In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered. Users can use jlink to create smaller custom runtimes. • JavaFX is no longer included in the JDK. It is now available as a separate download from openjfx.io. • Java Mission Control, which was shipped in JDK 7, 8, 9, and 10, is no longer included with the Oracle JDK. It is now a separate download. • Previous releases were translated into English, Japanese, and Simplified Chinese as well as French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish. However, in JDK 11 and later, French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish translations are no longer provided. • Updated packaging format for Windows has changed from tar.gz to .zip, which is more common in Windows OSs. • Updated package format for macOS has changed from .app to .dmg, which is more in line with the standard for macOS.
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Modular Development with JDK 11 40
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 41 jlink - generiert JRE und Applikations-Images (1) • Platzsparende Runtime, inklusive eigener Anwendungsmodule im frei wählbaren Verzeichnis jlink <options> --module-path <modulepath> --output <path> jlink --module-path $JDKMODS:mlib --add-modules myapp --output myimage C:> C:jdk-11binjlink --module-path C:jdk-11jmods;mlib --add-modules com.greetings -- compress=2 --verbose --output greetingsapplication com.greetings file:///C:/mlib/com.greetings.jar java.base file:///C:/jdk-11/jmods/java.base.jmod Providers: java.base provides java.nio.file.spi.FileSystemProvider used by java.base
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 42 jlink - generiert JRE und Applikations-Images (2) • Image-Verzeichnis C:greetingsapplication 27,5 MB • Datei release mit früherem „build 9-ea+142-jigsaw-nightly-h5677-20161102” C:greetingsapplication> dir Directory of C:greetingsapplication 20.11.2018 17:44 <DIR> bin 20.11.2018 17:44 <DIR> conf 20.11.2018 17:44 <DIR> include 20.11.2018 17:44 <DIR> legal 20.11.2018 17:44 <DIR> lib 20.11.2018 17:44 54 release #Thu Mar 09 22:11:23 CET 2017 OS_NAME="Windows" MODULES="java.base com.greetings" OS_VERSION="5.1" OS_ARCH="i586" JAVA_VERSION="9" JAVA_FULL_VERSION="9-ea" • Datei release „11“ JAVA_VERSION="11" MODULES="java.base com.greetings"
  • 43. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 43 jlink - generiert JRE und Applikations-Images (3) • Image-Verzeichnis C:greetingsapplication 27,5 MB C:greetingsapplicationbin> java -m com.greetings/com.greetings.Main Greetings! C:greetingsapplicationbin> dir 20.11.2018 17:44 154.472 java.dll 20.11.2018 17:44 279.400 java.exe 20.11.2018 17:44 279.400 javaw.exe 20.11.2018 17:44 31.080 jimage.dll 20.11.2018 17:44 246.632 jli.dll 20.11.2018 17:44 20.840 keytool.exe 20.11.2018 17:44 687.240 msvcp140.dll 20.11.2018 17:44 91.496 net.dll 20.11.2018 17:44 63.848 nio.dll 20.11.2018 17:44 <DIR> server 20.11.2018 17:44 1.001.272 ucrtbase.dll 20.11.2018 17:44 89.752 vcruntime140.dll 20.11.2018 17:44 56.168 verify.dll 20.11.2018 17:44 81.256 zip.dll C:greetingsapplicationbin> java -jar C:/mlib/com.greetings.jar Greetings!
  • 44. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 44 jlink - generiert JRE und Applikations-Images (4) • Image-Verzeichnis C:greetingsapplication 27,5 MB C:greetingsapplicationbin> java -m com.greetings/com.greetings.Main Greetings! C:greetingsapplicationbin> java --show-module-resolution -m com.greetings/com.greetings.Main root com.greetings jrt:/com.greetings Greetings! C:greetingsapplicationbin> java --list-modules -m com.greetings/com.greetings.Main com.greetings java.base@11 C:greetingsapplicationbin> java -verbose -m com.greetings/com.greetings.Main ... [0.718s][info][class,load] java.nio.charset.CoderResult source: jrt:/java.base Greetings! [0.719s][info][class,load] jdk.internal.misc.TerminatingThreadLocal$1 source: jrt:/java.base [0.720s][info][class,load] java.lang.Shutdown source: jrt:/java.base [0.721s][info][class,load] java.lang.Shutdown$Lock source: jrt:/java.base C:greetingsapplicationbin> java --add-exports java.base/jdk.internal.ref=ALL-UNNAMED -m com.greetings/com.greetings.Main Greetings!
  • 45. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 Features
  • 46. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 Features – JEP’s included 46 – 181: Nest-Based Access Control – 309: Dynamic Class-File Constants – 315: Improve Aarch64 Intrinsics – 318: Epsilon: A No-Op Garbage Collector – 320: Remove the Java EE and CORBA Modules – 321: HTTP Client (Standard) – 323: Local-Variable Syntax for Lambda Parameters – 324: Key Agreement with Curve25519 and Curve448 – 327: Unicode 10 – 328: Flight Recorder – 329: ChaCha20 and Poly1305 Cryptographic Algorithms – 330: Launch Single-File Source-Code Programs – 331: Low-Overhead Heap Profiling – 332: Transport Layer Security (TLS) 1.3 – 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) – 335: Deprecate the Nashorn JavaScript Engine – 336: Deprecate the Pack200 Tools and API http://openjdk.java.net/projects/jdk/11/
  • 47. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 181 Nest-Based Access Control 47  Summary: Introduce nests, an access-control context that aligns with the existing notion of nested types in the Java programming language. Nests allow classes that are logically part of the same code entity, but which are compiled to distinct class files, to access each other's private members without the need for compilers to insert accessibility-broadening bridge methods. http://openjdk.java.net/projects/jdk/11/
  • 48. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 309 Dynamic Class-File Constants 48  Summary: Extend the Java class-file format to support a new constant-pool form, CONSTANT_Dynamic. Loading a CONSTANT_Dynamic will delegate creation to a bootstrap method, just as linking an invokedynamic call site delegates linkage to a bootstrap method. http://openjdk.java.net/projects/jdk/11/
  • 49. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 315 Improve Aarch64 Intrinsics 49  Summary: Improve the existing string and array intrinsics, and implement new intrinsics for the java.lang.Math sin, cos and log functions, on AArch64 processors. http://openjdk.java.net/projects/jdk/11/
  • 50. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 318 Epsilon: A No-Op Garbage Collector 50  Summary: Develop a GC that handles memory allocation but does not implement any actual memory reclamation mechanism. Once the available Java heap is exhausted, the JVM will shut down.  Goals Provide a completely passive GC implementation with a bounded allocation limit and the lowest latency overhead possible, at the expense of memory footprint and memory throughput. A successful implementation is an isolated code change, does not touch other GCs, and makes minimal changes in the rest of JVM. http://openjdk.java.net/projects/jdk/11/
  • 51. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 320 Remove the Java EE and CORBA Modules 51  Summary: Remove the Java EE and CORBA modules from the Java SE Platform and the JDK. These modules were deprecated in Java SE 9 with the declared intent to remove them in a future release. http://openjdk.java.net/projects/jdk/11/
  • 52. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 321 HTTP Client (Standard) 52  Summary: Standardize the incubated HTTP Client API introduced in JDK 9, via JEP 110, and updated in JDK 10.  Goals In addition to the goals of JEP 110, this JEP will: • Take into account feedback received on the incubated API, • Provide a standardized API, in the java.net.http package, based upon the incubated API, and • Remove the incubated API. http://openjdk.java.net/projects/jdk/11/
  • 53. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 323 Local-Variable Syntax for Lambda Parameters 53  Summary: Allow var to be used when declaring the formal parameters of implicitly typed lambda expressions.  Goals Align the syntax of a formal parameter declaration in an implicitly typed lambda expression with the syntax of a local variable declaration. http://openjdk.java.net/projects/jdk/11/
  • 54. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 324 Key Agreement with Curve25519 and Curve448 54  Summary: Implement key agreement using Curve25519 and Curve448 as described in RFC 7748.  Goals RFC 7748 defines a key agreement scheme that is more efficient and secure than the existing elliptic curve Diffie-Hellman (ECDH) scheme. The primary goal of this JEP is an API and an implementation for this standard. Additional implementation goals are: 1. Develop a platform-independent, all-Java implementation with better performance than the existing ECC (native C) code at the same security strength. 2. Ensure that the timing is independent of secrets, assuming the platform performs 64-bit integer addition/multiplication in constant time. In addition, the implementation will not branch on secrets. These properties are valuable for preventing side-channel attacks. http://openjdk.java.net/projects/jdk/11/
  • 55. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 327 Unicode 10 55  Summary: Upgrade existing platform APIs to support version 10.0 of the Unicode Standard.  Goals Support the latest version of Unicode, mainly in the following classes: • Character and String in the java.lang package, • NumericShaper in the java.awt.font package, and • Bidi, BreakIterator, and Normalizer in the java.text package. http://openjdk.java.net/projects/jdk/11/
  • 56. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 328 Flight Recorder 56  Summary: Provide a low-overhead data collection framework for troubleshooting Java applications and the HotSpot JVM.  Goals • Provide APIs for producing and consuming data as events • Provide a buffer mechanism and a binary data format • Allow the configuration and filtering of events • Provide events for the OS, the HotSpot JVM, and the JDK libraries http://openjdk.java.net/projects/jdk/11/
  • 57. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 329 ChaCha20 and Poly1305 Cryptographic Algorithms 57  Summary: Implement the ChaCha20 and ChaCha20-Poly1305 ciphers as specified in RFC 7539. ChaCha20 is a relatively new stream cipher that can replace the older, insecure RC4 stream cipher.  Goals • Provide ChaCha20 and ChaCha20-Poly1305 Cipher implementations. These algorithms will be implemented in the SunJCE provider. • Provide a KeyGenerator implementation that creates keys suitable for ChaCha20 and ChaCha20- Poly1305 algorithms. • Provide an AlgorithmParameters implementation for use with the ChaCha20-Poly1305 algorithm. http://openjdk.java.net/projects/jdk/11/
  • 58. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 330 Launch Single-File Source-Code Programs 58  Summary: Enhance the java launcher to run a program supplied as a single file of Java source code, including usage from within a script by means of "shebang" files and related techniques.  Non-Goals It is not a goal to change either the Java Language Specification (JLS) or javac to accommodate shebang files. Likewise, it is not a goal to evolve the Java language into a general purpose scripting language. It is not a goal of this JEP to change the Java Language Specification to accommodate simpler ways of writing small programs, such as eliminating the need for the standard public static void main(String[] args) method. However, it is expected that any such changes to the Java language will be usable in conjunction with this feature. http://openjdk.java.net/projects/jdk/11/
  • 59. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 331 Low-Overhead Heap Profiling 59  Summary: Provide a low-overhead way of sampling Java heap allocations, accessible via JVMTI.  Goals Provide a way to get information about Java object heap allocations from the JVM that: • Is low-overhead enough to be enabled by default continuously, • Is accessible via a well-defined, programmatic interface, • Can sample all allocations (i.e., is not limited to allocations that are in one particular heap region or that were allocated in one particular way), • Can be defined in an implementation-independent way (i.e., without relying on any particular GC algorithm or VM implementation), and • Can give information about both live and dead Java objects. http://openjdk.java.net/projects/jdk/11/
  • 60. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 332 Transport Layer Security (TLS) 1.3 60  Summary: Implement version 1.3 of the Transport Layer Security (TLS) Protocol RFC 8446.  Non-Goals It is not a goal to support version 1.3 of the Datagram Transport Layer Security (DTLS) Protocol. It is also not a goal to support every feature of TLS 1.3; see the Description section for more details on what will be implemented. http://openjdk.java.net/projects/jdk/11/
  • 61. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 333 ZGC A Scalable Low-Latency Garbage Collector (Experimental) 61  Summary: The Z Garbage Collector, also known as ZGC, is a scalable low-latency garbage collector. • Scalable low latency garbage collector capable of handling heaps ranging from gigabytes to terabytes in size, with GC pause times not exceeding 10ms  Goals • GC pause times should not exceed 10ms • Handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes) in size • No more than 15% application throughput reduction compared to using G1 • Lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers • Initially supported platform: Linux/x64 We have strong ambitions to meet these goals for a large set of relevant workloads. At the same time, we want to acknowledge that we don't see these goals as hard requirements for every conceivable workload. http://openjdk.java.net/projects/jdk/11/
  • 62. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 335 Deprecate the Nashorn JavaScript Engine 62  Summary: Deprecate the Nashorn JavaScript script engine and APIs, and the jjs tool, with the intent to remove them in a future release.  Non-Goals This deprecation does not affect, in any way, the javax.script API. http://openjdk.java.net/projects/jdk/11/
  • 63. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JDK 11 – JEP 336 Deprecate the Pack200 Tools and API 63  Summary: Deprecate the pack200 and unpack200 tools, and the Pack200 API in java.util.jar.  Description Three types in the java.base module will be terminally deprecated, that is, annotated with @Deprecated(forRemoval=true): • java.util.jar.Pack200 • java.util.jar.Pack200.Packer • java.util.jar.Pack200.Unpacker The jdk.pack module, which contains the pack200 and unpack200 tools, will also be terminally deprecated. Running pack200 or unpack200 will display a warning about the planned removal of the tool. Running jar -c with the sub-option n (to normalize the archive) will display a warning about the planned removal of the sub-option. The documentation for all three tools will indicate the deprecation and planned removal. A separate JEP will be filed for the actual removal of the types and module in a future JDK feature release. http://openjdk.java.net/projects/jdk/11/
  • 64. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Graal
  • 65. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JIT Compiler 65 • C1 Client Compiler – Minimiert Startup-Zeit • C2 Server Compiler – Dauerhafte Performance-Verbesserungen – Intensivere Analyse vom ausgeführten Code – Optimierungen können besser platziert werden
  • 66. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JIT Compiler with Tiered Compilation 66 • C1 Client Compiler – Minimiert Startup-Zeit – java -client -XX:+TieredCompilation • C2 Server Compiler – Läuft mit, aber ohne Tiered Compilation • Tiered-Compilation Ausführungs-Level – Level 0: interpreted code – Level 1: simple C1 compiled code (with no profiling) – Level 2: limited C1 compiled code (with light profiling) – Level 3: full C1 compiled code (with full profiling) – Level 4: C2 compiled code (uses profile data from the previous steps)
  • 67. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JIT Compiler written in C++ 67
  • 68. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | JIT Compiler written in Java 68
  • 69. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Graal http://openjdk.java.net/projects/graal/ 69 • The aim of this project is to expose VM functionality via Java APIs. Namely, we want to make it feasible to write in Java a dynamic compiler and interpreter for a language runtime. These components will seamlessly integrate and leverage existing VM infrastructure (e.g., HotSpot). • The design of the dynamic compiler uses features of Java that make it highly extensible such that adding extra IR nodes and/or transformations is straightforward. At the same time, it should produce excellent code quality without compromising compile time and memory usage by the JVM. • Building on the compiler, we aim to develop a multi-language interpreter framework. Java will be just one member in the family of supported languages. The use of partial evaluation will allow the framework to deliver competitive performance.
  • 70. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | GraalVM Repository Structure 70 • Graal SDK contains long term supported APIs of GraalVM. • Graal compiler written in Java that supports both dynamic and static compilation and can integrate with the Java HotSpot VM or run standalone. • Truffle language implementation framework for creating languages and instrumentations for GraalVM. • Tools contains a set of tools for GraalVM languages implemented with the instrumentation framework. • Substrate VM framework that allows ahead-of-time (AOT) compilation of Java applications under closed- world assumption into executable images or shared objects. • Sulong is an engine for running LLVM bitcode on GraalVM. • TRegex is an implementation of regular expressions which leverages GraalVM for efficient compilation of automata. • VM includes the components to build a modular GraalVM image. The GraalVM main source repository includes these components
  • 71. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | GraalVM 71 • Graal – JIT Compiler • Graal in GraalVM - A new Java JIT Compiler – Graal integrated via Java Virtual Machine Compiler Interface (JVM CI) – Use a JDK with Graal (jdk.internal.vm.compiler) – –XX:+UnlockExperimentalVMOptions –XX:+EnableJVMCI –XX:+UseJVMCICompiler • Truffle – Language Implementation Framework • Substrate VM – Runtime Library and a Set of Tools for • Building Java AOT Compiled Code
  • 72. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | GraalVM - Polyglot (1) 72
  • 73. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | GraalVM - Polyglot (2) 73
  • 74. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | OpenJDK
  • 75. 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 (e.g., javadoc) JVM
  • 76. 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
  • 77. 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
  • 78. 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 http://openjdk.java.net/census#members
  • 79. 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
  • 80. 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
  • 81. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Oracle Contributor Agreement - OCTLA Signatories List • The following organizations and individuals have signed the OpenJDK Community TCK License Agreement (OCTLA) and been granted access to the JCK – Signatories for Java SE 9, or later http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html
  • 82. 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
  • 83. 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
  • 84. 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
  • 85. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Difference between Oracle OpenJDK & Oracle JDK with Java SE 8 .. and the change since Oracle JDK 11 • Java SE 8 • Security • Performance • Support • Since Oracle JDK 11 it‘s technically interchangeable • Security • Performance • Support only with Oracle JDK
  • 86. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | • Oracle's OpenJDK JDK binaries for Windows, macOS, and Linux are available on release-specific pages of jdk.java.net as .tar.gz or .zip archives. • As an example, the archives for JDK 11 may be found on jdk.java.net/11 and may be extracted on the command line using – $ tar xvf openjdk-11*_bin.tar.gz or – $ unzip openjdk-11*_bin.zip depending on the archive type. Download and install prebuilt OpenJDK 11 packages https://openjdk.java.net/install/
  • 87. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | • This page provides production-ready open-source builds of the Java Development Kit, version 11.0.1, an implementation of the Java SE 11.0.1 Platform under the GNU General Public License, version 2, with the Classpath Exception. • Commercial builds of JDK 11.0.1 from Oracle under a non-open-source license, for a wider range of platforms, can be found at the Oracle Technology Network. • Documentation – Features – Release notes – API Javadoc – Tool & command reference • Builds – Linux / x64 tar.gz (sha256) – macOS / x64 tar.gz (sha256) – Windows / x64 zip (sha256) JDK 11.0.1 General-Availability Release https://jdk.java.net/11/
  • 88. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Release Cycle & Oracle OpenJDK Builds
  • 89. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 89 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
  • 90. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 90 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
  • 91. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Summary 91 • 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
  • 92. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Thanks! Wolfgang.Weigend@oracle.com Twitter: @wolflook 92