0% found this document useful (0 votes)
3 views

Oracle Java Desktop Run-time and Development Perspective

The document outlines Oracle's Java offerings, including the Java SE Subscription for unlimited deployment and support for various platforms. It highlights features of Java, including the JavaFX updates, GraalVM Native Image for creating native executables, and the Java Client Roadmap extending support for Java SE 8 until December 2030. Additionally, it discusses Java's innovation projects aimed at enhancing developer productivity and performance in future releases.

Uploaded by

Ali Parvini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Oracle Java Desktop Run-time and Development Perspective

The document outlines Oracle's Java offerings, including the Java SE Subscription for unlimited deployment and support for various platforms. It highlights features of Java, including the JavaFX updates, GraalVM Native Image for creating native executables, and the Java Client Roadmap extending support for Java SE 8 until December 2030. Additionally, it discusses Java's innovation projects aimed at enhancing developer productivity and performance in future releases.

Uploaded by

Ali Parvini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

2 Copyright © 2022, Oracle and/or its affiliates

Oracle Java Desktop


Run-time and Development Perspective

Ali Parvini
ANZ Regional Java Solutions Consultant
Oracle

3
Copyright © 2022, Oracle and/or its affiliates
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, timing, and pricing of any features or
functionality described for Oracle’s products may change and remains at the sole discretion of
Oracle Corporation.

4 Copyright © 2022, Oracle and/or its affiliates


Presented by:

Ali Parvini
Ali is ANZ regional Java solutions consultant at Oracle,
based in Sydney.
Having 25 years experience in different aspects of
Java eco-system, he is now advising & providing
solutions to enterprises and governments for
optimization, modernization and transformation of
their Java workloads.

5
Copyright © 2022, Oracle and/or its affiliates
DTA whole-of-government agreement (WoGA)

Java SE Subscription
Unlimited License Agreement (ULA)

This agreement provides unlimited Oracle Java


deployment on Desktops, Servers and Cloud
environments for the contract period.

6 Copyright © 2022, Oracle and/or its affiliates


Oracle Java Components
https://docs.oracle.com/en/java/java-components/index.html

7 Copyright © 2022, Oracle and/or its affiliates


My Oracle Support (MOS) Portal
https://support.oracle.com/portal/

8 Copyright © 2022, Oracle and/or its affiliates


My Oracle Support (MOS) Portal

You are eligible to login to MOS and access non-public releases/updates and security patches

9 Copyright © 2022, Oracle and/or its affiliates


Creating Enterprise Installer (.MSI) from your Java application
https://docs.oracle.com/en/java/javase/17/jpackage/packaging-tool-user-guide.pdf

jpackage utility (Java 17 LTS)

The following platforms and formats are supported with the required
software:

• Linux: deb, rpm:


– For Red Hat Linux, the rpm-build package is required.
– For Ubuntu Linux, the fakeroot package is required.

• macOS: pkg, app in a dmg


Xcode command line tools are required when the --mac-sign option is used
to request that the package be signed, and when the --icon option is used to
customize the DMG image.

• Windows: exe, msi


WiX 3.0 or later is required.

10 Copyright © 2022, Oracle and/or its affiliates


Convert your Java Application to Native Executable (.exe)

Native-image utility (Plugin for GraalVM)

We’ve seen an increasing number of Windows 10 users


express interest in using GraalVM Native Image, which is
an ahead-of-time (AOT) compilation technology that
packages Java bytecode to a standalone executable.

This executable is a native application like any other on


the user’s system, and typically achieves a much faster
startup time while occupying a smaller footprint.
https://medium.com/graalvm/using-graalvm-and-native-image-on-windows-10-9954dc071311

11 Copyright © 2022, Oracle and/or its affiliates


Manage all your machines enterprise-wide in a single pane of glass
Production Fleet
JMS helps administrators answer questions like:

• What are all the Java versions installed in my environment


and on which systems?
• What Java versions are being used?
• What Java applications are being run?

App. 4
• Which vendors are providing the Java installations?
• Are my applications using the intended Java installations?
• Are unauthorized applications running?

App. 3
• How many outdated and unsecured Java installations do I
have?

Applications
Do I need to update or upgrade to a new Java version family?

App. 2
➢ I want to be notified when a new Java version is installed. 1.8.xx

➢ I want to be notified when a new application is run. 11.xx

App. 1
➢ I want to be notified when a new application is being running 16.xx

on a specific Java runtime. 17.xx


Syst. 1 Syst. 2 Syst. 3 Syst. 4

Managed instances

12 Copyright © 2022, Oracle and/or its affiliates


13 Copyright © 2022, Oracle and/or its affiliates
14 Copyright © 2022, Oracle and/or its affiliates
Monitor Computers and Generate Alerts

• Enforce corporate IT policies for best


practices and compliance
• Monitor your Java usage for exceptions
to normal operating procedure
• Set thresholds that generate
• Warnings for releases not
authorized by your organization to
comply with corporate guidelines
• Alerts for user-specified situations

15 Copyright © 2022, Oracle and/or its affiliates


Running other languages in Java applications

The GVM ecosystem consists of a very interesting


collection of languages: JavaScript, Ruby, Python,
WebAssembly, Java, LLVM bitcode, and more. All
of them bring unique advantages.
Java
Java
For example, Python on GVM opens up the rich
ecosystem of Python data science libraries to Java Process
Process
developers. (GVM)
https://medium.com/graalvm/supercharge-your-java-apps-with-python-ec5d30634d18

16 Copyright © 2022, Oracle and/or its affiliates


Java Auto Update
https://www.java.com/en/download/help/java_update.html

Java Update is a feature that keeps your Windows computer


up-to-date with the latest Java 8 updates.

When you have auto update enabled, your system


periodically checks for new versions of Java. When a new
version is found we ask your permission to upgrade your Java
installation.

You can schedule how often to check for updates or check


manually at any time.

17 Copyright © 2022, Oracle and/or its affiliates


Java Runtimes Lifecycle Management (JMS LCM)

(Install/Delete Java Runtimes)

• Centralized console to administer your


Java deployments on desktops/laptops

• Install a new Oracle JDK Java version(s) on


a set of systems

• Delete unused or unsecure Oracle JDK


Java versions on a set of systems

18 Copyright © 2022, Oracle and/or its affiliates


JavaFX 18 Highlights

New features:
• JavaFX Media now has support for H.265/HEVC
• Node’s managed property can now be styled using CSS
• Convenience factory methods for Border and
Background

Improvements:
• JavaFX modules include version information
• JavaFX Webview supports transparent backgrounds
• Improvement in selection performance for TableView

Removal and Clean up:


• JavaFX GTK 2 library has been deprecated for removal

19 Copyright © 2022, Oracle and/or its affiliates


Tribuo a Java Machine Learning library
https://blogs.oracle.com/ai-and-datascience/post/announcing-tribuo-a-java-machine-learning-library

Tribuo is a general purpose Machine Learning library but also has extensive support for NLP tasks built in. It has
algorithms for classification, regression, clustering, etc, and provides a common abstracted interface to each. This
makes it easy to integrate new prediction techniques as they arrive.

20 Copyright © 2022, Oracle and/or its affiliates


Java @ Virtual Desktop Infrastructure (VDI)

In VDI, a hypervisor segments servers into virtual machines that in


turn host virtual desktops, which users access remotely from their
devices. Users can access these virtual desktops from any device or
location, and all processing is done on the host server.
Users connect to their desktop instances through a connection
broker, which is a software-based gateway that acts as an
intermediary between the user and the server.

21 Copyright © 2022, Oracle and/or its affiliates


Java Client Roadmap
https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdatev2020may-6548840.pdf

• Oracle has extended commercial support and updates for Java SE 8 from March 2025 to at least
December 2030.

• Oracle will continue to offer commercial support for Web Start on Java SE 8 through Java SE
Subscriptions, legacy Java SE products, or when used in conjunction with Oracle products that
have a Web Start dependency, through at least December 2030.

• Oracle encourages developers relying on Web Start to migrate to other delivery alternatives.

• Oracle has extended JavaFX support with Oracle Java SE 8 from March 2022 through at least
March 2025.

• Oracle completed the re-architecture and transition of JavaFX to OpenJFX as a stand-alone


module as of Java SE 11. Oracle is also reaffirming its commitment to continue co-leading and
collaborating at the OpenJFX project.

• Oracle is reaffirming that Swing and AWT remain core Java SE technologies to Oracle across all
Java SE releases and support timelines.

• Although support is no longer available for Applets, they remain available for Windows and
continue to receive updates in Java SE 8.

22 Copyright © 2022, Oracle and/or its affiliates


Oracle Java SE Support Roadmap
(Updated March 22, 2022)
Extended Support
Release
Until
Java 7 July 2022
Java 8 December 2030
Java 11 September 2026
Java 17 September 2029
Java 21 September 2031
* Oracle Java SE product dates are provided as examples to illustrate the support
policies. Customers should refer to the Oracle Lifetime Support Policy for the most up-
to-date information. Timelines may differ for Oracle Products with a Java SE
dependency (My.Oracle.Support Note 1557737.1 - Support Entitlement for Java SE
When Used As Part of Another Oracle Product – Requires Support Login).
** These support timelines apply to Java client and server deployments of Java with the
exception of Web Deployment Technology and JavaFX. For more information on those
features, see below.
*** LTS/non-LTS designation and dates are subject to change.
**** Or later.
***** The Extended Support uplift fee will be waived for the period June 2019 - July
2022 for Java SE 7. The Extended Support uplift fee will be waived for the period March
2022 - December 2030 for Java SE 8. During this period, you will receive Extended
Support as described in the Oracle Technical Support Level sections of the Technical
Support Policies.

https://www.oracle.com/java/technologies/java-se-support-roadmap.html

23 Copyright © 2022, Oracle and/or its affiliates


New version of Java with new features
every 6 months on schedule!

Java 9 Java 10 Java 11 Java 12 Java 13 Java 14 Java 15 Java 16 Java 17

6 months 6 months 6 months 6 months 6 months 6 months 6 months 6 months

24 Copyright © 2021, Oracle and/or its affiliates


New Java Features (Past 3 years)
Java 12 Java 15 Java 17
Shenandoah: A Low-Pause-Time Garbage Collector Edwards-Curve Digital Signature Algorithm (EdDSA) Restore Always-Strict Floating-Point Semantics
Microbenchmark Suite Sealed Classes (Preview) Enhanced Pseudo-Random Number Generators
Switch Expressions (Preview) Hidden Classes New macOS Rendering Pipeline
JVM Constants API Remove the Nashorn JavaScript Engine macOS/AArch64 Port
One AArch64 Port, Not Two Reimplement the Legacy DatagramSocket API Deprecate the Applet API for Removal
Default CDS Archives Disable and Deprecate Biased Locking Strongly Encapsulate JDK Internals
Abortable Mixed Collections for G1 Pattern Matching for instanceof (Preview) Pattern Matching for switch (Preview)
Promptly Return Unused Committed Memory from G1 ZGC: A Scalable Low-Latency Garbage Collector Remove RMI Activation
Text Blocks Sealed Classes
Java 13 Shenandoah: A Low-Pause-Time Garbage Collector Remove the Experimental AOT and JIT Compiler
Dynamic CDS Archives Remove the Solaris and SPARC Ports Deprecate the Security Manager for Removal
ZGC: Uncommit Unused Memory Foreign-Memory Access API (Incubator) Foreign Function & Memory API (Incubator)
Reimplement the Legacy Socket API Records (Preview) Vector API (Incubator)
Switch Expressions (Preview) Deprecate RMI Activation for Removal Context-Specific Deserialization Filters
Text Blocks (Preview)

Java 14 Java 16 Java 18


Vector API (Incubator) Simple Web Server
Pattern Matching for instanceof (Preview)
Enable C++14 Language Features
Packaging Tool (Incubator) Code Snippets in Java API Documentation
Migrate from Mercurial to Git
NUMA-Aware Memory Allocation for G1 UTF-8 by Default
Migrate to GitHub
JFR Event Streaming Internet-Address Resolution SPI
ZGC: Concurrent Thread-Stack Processing
Non-Volatile Mapped Byte Buffers
Helpful NullPointerExceptions
Unix-Domain Socket Channels Reimplement Core Reflection with Method Handles
Alpine Linux Port Pattern Matching for switch (2nd Preview)
Records (Preview)
Elastic Metaspace
Switch Expressions
Windows/AArch64 Port Foreign Function & Memory API (2nd Incubator)
Deprecate the Solaris and SPARC Ports Vector API (3rd Incubator)
Foreign Linker API (Incubator)
Remove the Concurrent Mark Sweep (CMS) Garbage Collector
ZGC on macOS
Warnings for Value-Based Classes Deprecate Finalization for Removal
Packaging Tool
ZGC on Windows
Foreign-Memory Access API ( Incubator)
Deprecate the ParallelScavenge + SerialOld GC Combination
Pattern Matching for instanceof
Remove the Pack200 Tools and API
Records
Text Blocks (Preview)
Strongly Encapsulate JDK Internals by Default
Foreign-Memory Access API (Incubator)
Sealed Classes (Preview)

25 Copyright © 2022, Oracle and/or its affiliates


Java Innovation Projects
https://dev.java/future/innovation/
Amber Loom
Continuously improve Massively scale
developer productivity lightweight threads,
through evolutions of making concurrency
✓ Invest in long term innovation. the Java language. simple again.

✓ Deliver a rich pipeline of


new features.

✓ Maintain a ”Java Feel” while Panama Valhalla ZGC


addressing new challenges and High performance Higher memory Create a scalable low
opportunities. with easier creation of
I/O intensive apps
density, better
performance of ML
latency garbage
collector capable of
through Java-native and big data apps handling large heaps.
platform changes. through the
introduction of value
types.

26 Copyright © 2022, Oracle and/or its affiliates


Java is everywhere!

27 Copyright © 2022, Oracle and/or its affiliates

You might also like