內容大鋼
Java 9及其新特性豐富了Java語言的內涵,這是開發者們最廣泛使用的語言之一。Java9通過與Jigsaw集成,從而特彆強調了模塊化。本書是你精通該語言的一站式指南。
你可以從中獲得Java 9相關的概覽和新特性解釋。並了解新API和增強部分的重要性。某些Java 9的新特性是開創性的,如果是有經驗的程序員,你將能夠把企業級應用變得更精煉。愛德華·拉維耶里、皮特·維哈斯著的《精通Java9(影印版)(英文版)》提供了在Java平台開發上應用Java 9相關新知識以及更多信息的實用指南。本書有助於提高生產力,讓你的應用變得更快。通過學習Java最佳實踐,你將成為組織里的百曉生。
學完此書,你不僅能知道Java 9的重要概念,也會對使用這門偉大語言進行編程的重要方面具備精深理解。
目錄
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 HTTP 2,0
Encompassing reactive programming
Expanding the wish list
Summary
Chapter 2: Discovering Java 9
Improved Contended Locking [JEP 143]
Improvement goals
Segmented code cache [JEP 197]
Memory allocation
Smart Java compilation, phase two [JEP 199]
Resolving Lint and Doclint warnings [JEP 212]
Tiered attribution for javac [JEP 215]
Annotations pipeline 2.0 [JEP 217]
New version-string scheme [JEP 223]
Generating run-time compiler tests automatically [JEP 233]
Testing class-file attributes generated by Javac [JEP 235]
Storing interned strings in CDS archives [JEP 250]
The problem
The solution
Preparing JavaFX UI controls and CSS APIs for modularization [JEP253]
JavaFX overview
Implications for Java 9
Compact strings [JEP 254]
Pre-Java 9 status
New with Java 9
Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
Updating JavaFX/Media to newer version of GStreamer [JEP 257]
HarfBuzz Font-Layout Engine [JEP 258]
HiDPI graphics on Windows and Linux [JEP 263]
Marlin graphics renderer [JEP 265]
Unicode 8.0.0 [JEP 267]
New in Unicode 8.0.0
Updated Classes in Java 9
Reserved stack areas for critical sections [JEP 270]
The pre-Java 9 situation
New in Java 9
Dynamic linking of language-defined object models [JEP 276]
Proof of concept
Additional tests for humongous objects in G1 [JEP 278]
Improving test-failure troubleshooting [JEP 279]
Environmental information
Java process information
Optimizing string concatenation [JEP 280]
HotSpot C++ unit-test framework [JEP 281]
Enabling GTK 3 on Linux [JEP 283]
New HotSpot build system [JEP 284]
Summary
Chapter 3: Java 9 Language Enhancements
Working with variable handlers [JEP 193]
Working with the AtoMiC Toolkit
Using the sun.misc.Unsafe class
Eliding depreciation warnings on import statements [JEP 211]
Milling Project Coin [JEP 213]
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 [JEP 216]
Summary
Chapter 4: Building Modular Applications with Java 9
A modular primer
Reviewing Java's platform module system [JEP-200]
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 In Java 9
Chapter 16: Future Directions