Preface
Chapter 1:The Java 9 Landscape
Java 9 at 20,000 feet
Breaking the monolith
Playing around with the Java Shell
Taking control of external processes
Boosting performance with G1
Measuring performance with JMH
Getting started with 2,0
Enpassing reactive programming
Expanding the wish list
Summary
Chapter 2:Discovering Java 9
Improved Contended Locking
Improvement goals
Segmented code cache
Memory allocation
Smart Java pilation,phase two
Resolving Lint and Doclint warnings
Tiered attributiofor javac
Annotations pipeline 2.0
New version-string scheme
Generating run-time piler tests automatically
Testing class-file attributes generated by Javac
Storing interned strings iCDS archives
The problem
The solution
Preparing JavaFX UI controls and CSS APIs for modularizatio
JavaFX overview
Implications for Java 9
Compact strings
Pre-Java 9 status
New with Java 9
Merging selected Xerces 2.11.0 updates into JAXP
Updating JavaFX/Media to newer versioof GStreamer
HarfBuzz Font-Layout Engine
HiDPI graphics oWindows and Linux
Marligraphics renderer
Unicode 8.0.0
New iUnicode 8.0.0
Updated Classes iJava 9
Reserved stack areas for critical sections
The pre-Java 9 situation
New iJava 9
Dynamic linking of language-defined object models
Proof of concept
Additional tests for humongous objects iG1
Improving test-failure troubleshooting
Environmental information
Java process information
Optimizing string concatenatio
HotSpot C unit-test framework
Enabling GTK 3 oLinux
New HotSpot build system
Summary
Chapter 3:Java 9 Language Enhancements
Working with variable handlers
Working with the AtoMiC Toolkit
Using the sun.misc.Unsafe class
Eliding depreciatiowarnings oimport statements
Milling Project Coi
Using the @SafeVarargs annotation
The try-with-resource statement
Using the diamond operator
Discontinuing use of the underscore
Making use of private interface methods
Processing import statements correctly
Summary
Chapter 4:Building Modular Applications with Java 9
A modular primer
Reviewing Java's platform module system
……
Chapter 5:Migrating Applications to Java 9
Chapter 6:Experimenting with the Java Shell
Chapter 7:Leveraging the New Default G1 Garbage Collector
Chapter 8:Microbenchmarking Applications with JMH
Chapter 9:Making Use of the ProcessHandle API
Chapter 10:Fine-Grained Stack Tracing
Chapter 11:New Tools and Tool Enhancements
Chapter 12:Concurrency and Reactive Programming
Chapter 13:Security Enhancements
Chapter 14:Command Line Flags
Chapter 15:Best Practices IJava 9
Chapter 16:Future Directions
Index