~/talk

Preparing for JDK 9 - AKA The Sharp Edges of JDK 9

Talkat Devoxx US 2017 · 2017-03-21..03-23· [java]
slides:none on file

JDK 9 hides most internal APIs and intends to remove deprecated APIs (some marked for removal=true), so many real-world apps and libraries break until updated; use the jdeps tool and the newer jdeps-scan to find internal usages and deprecated-for-removal symbols. Modularity (Jigsaw) forces add-exports or modular rework or move-to-release JARs; command-line add-exports flags are a temporary fix. Expect permgen removal, G1 as the default GC, dropped tools (jhat, JavaDB) and changed version string and file names.

AI-written summary · about

  1. 0:00Intro
  2. 1:29Introduction 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
  3. 2:54One Developer's Bug Fix Is Another Developer Bug
  4. 7:29Common Incompatibilities Are Due To
  5. 9:31Important Incompatibility Expected in JDK 9
  6. 10:43JEP 260: Encapsulate Most Internal APIs
  7. 17:15JEP 223: New Version String Scheme
  8. 19:50JEP 220: Modular Run-Time Images
  9. 21:03JEP 214: Remove GC Combinations Deprecated in JDK 8
  10. 22:11General Rule: Look Out for Unrecognized VM Options
  11. 24:28JEP 231: Remove Launch-Time JRE Version Selection
  12. 25:31Endorsed Standard Override and Extension Mechanism, Deprecated in 8u40, Dropped in 9
  13. 27:28JEP 240: Remove the JVM Tool Interface hprof Agent
  14. 28:39The 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
  15. 29:47Remove Serialized Applets Functionality
  16. 30:15Non-strict JNLP Parsing No Longer Allowed
  17. 31:02Remove Unsupported Apple APIs Legacy code received through Apple's contribution of their own port • JEP 272: Platform-Specific Desktop Features replaces
  18. 32:49JEP 271: Unified GC Logging Re-implemented GC logging with the new JVM logging framework from JEP 158 • Logs are in different format
  19. 34:12G1 Is the New Default Garbage Collector
  20. 41:29Prepare for the Future Now! 1 Download JDK 9 EA and JDK 9-Enabled IDE for example, NetBeans Dev
  21. 43:53Download NetBeans Dev
  22. 44:34Identify 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
  23. 45:29Stopgap: Expose Internal APIs But come back and fix! Sample command for earlier dev version of Netbeans
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.