Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Preparing for JDK 9 - The Sharp Edges of JDK 9

Devoxx via YouTube

Overview

Explore the major changes and potential impacts of JDK 9 on existing Java applications in this 49-minute Devoxx conference talk. Learn about hidden internal APIs, removal of deprecated classes, and new default values that could affect most Java programs. Discover how to identify if your application is impacted and what steps to take to prepare for the transition. Gain insights into important incompatibilities, including JEP 260 for encapsulating internal APIs, JEP 223 for the new version string scheme, and JEP 220 for modular run-time images. Understand the removal of deprecated features, changes in garbage collection, and updates to various Java components. Get practical advice on preparing for JDK 9, including downloading the Early Access version, using dependency analysis tools, and addressing potential issues in your codebase.

Syllabus

Intro
Introduction Aurelio Garcia-Ribeyro • Director Product Management, Java Platform Group, Oracle • In charge of managing the product requirements for Oracle's JDK since joining Oracle through the Sun acquisition in 2010 . Before joining Oracle, worked at Sun Microsystems for the Java Product
One Developer's Bug Fix Is Another Developer Bug
Common Incompatibilities Are Due To
Important Incompatibility Expected in JDK 9
JEP 260: Encapsulate Most Internal APIs
JEP 223: New Version String Scheme
JEP 220: Modular Run-Time Images
JEP 214: Remove GC Combinations Deprecated in JDK 8
General Rule: Look Out for Unrecognized VM Options
JEP 231: Remove Launch-Time JRE Version Selection
Endorsed Standard Override and Extension Mechanism, Deprecated in 8u40, Dropped in 9
JEP 240: Remove the JVM Tool Interface hprof Agent
The Entire HTTP Proxying Mechanism of RMI Was Deprecated in Java SE 8 And will be removed in JDK 9 • Remove RMI HTTP proxy implementation • Remove RMVJRMP HTTP tunneling implementation • Never worked properly
Remove Serialized Applets Functionality
Non-strict JNLP Parsing No Longer Allowed
Remove Unsupported Apple APIs Legacy code received through Apple's contribution of their own port • JEP 272: Platform-Specific Desktop Features replaces
JEP 271: Unified GC Logging Re-implemented GC logging with the new JVM logging framework from JEP 158 • Logs are in different format
G1 Is the New Default Garbage Collector
Prepare for the Future Now! 1 Download JDK 9 EA and JDK 9-Enabled IDE for example, NetBeans Dev
Download NetBeans Dev
Identify Problematic Dependencies Use Java Dependency Analysis Tool (deps) • Available since JDK 8 • Best results from the version in JDK 9 EA Option to find internal dependencies
Stopgap: Expose Internal APIs But come back and fix! Sample command for earlier dev version of Netbeans

Taught by

Devoxx

Reviews

Start your review of Preparing for JDK 9 - The Sharp Edges of JDK 9

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.