Book description
Update your Java knowledge with the latest features of Java 11, such as the low-Overhead Garbage Collector, Local-Variable Syntax for Lambda Parameters, and Dynamic Class-File Constants
Key Features
- Explore the latest features in Java 9,Java 10, and Java 11
- Enhance your Java application development and migration approaches
- Full coverage of modular Java applications, G1 Garbage Collector, JMH
Book Description
Java 11 is a long-term release and its new features add to the richness of the language. It emphasizes variable-type inference, performance improvements, along with simplified multithreading.
The Java platform has a special emphasis on modularity, making this the programming platform of choice for millions of developers. The modern Java platform can be used to build robust software applications, including enterprise-level and mobile applications. Fully updated for Java 11, this book stands to help any Java developer enjoy the richness of the Java programming language.
Mastering Java 11 is your one-stop guide to fully understanding recent Java platform updates. It contains detailed explanations of the recent features introduced in Java 9, Java 10, and Java 11 along with obtaining practical guidance on how to apply the new features. As you make your way through the chapters, you'll discover further information on the developments of the Java platform and learn about the changes introduced by the variable handles and Project Coin, along with several enhancements in relation to import statements processing. In the concluding chapters, you'll learn to improve your development productivity, making your applications more efficient. You'll also be able to get to grips with the command-line flags with respect to various utilities and the command-line utility changes featured in the current Java platform. By the end of the book, you'll have obtained an advanced level understanding of the Java platform and its recent changes.
What you will learn
- Write modular Java applications
- Migrate existing Java applications to modular ones
- Understand how the default G1 garbage collector works
- Leverage the possibilities provided by the newly introduced Java Shell
- Performance test your application effectively with the JVM harness
- Learn how Java supports the HTTP 2.0 standard
- Find out how to use the new Process API
- Explore the additional enhancements and features of Java 9, 10, and 11
Who this book is for
Mastering Java 11 is for experienced Java developers with a solid understanding of the Java language and want to progress to an advanced level.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Contributors
- Preface
-
The Java 11 Landscape
- Technical requirements
- Understanding the Java platform's new versioning model
- Understanding the significance of Java 9
-
Benefiting from changes introduced with Java 10
- Local variable type inference
- Consolidation of the JDK forest into a single repository
- Garbage collection interface
- Parallel full garbage collector for G1
- Application class-data sharing
- Thread-local handshakes
- Removal of the native-header generation tool (javah)
- Additional Unicode language-tag extensions
- Heap allocation on alternative memory devices
- Experimental Java-based JIT compiler
- Root certificates
- Benefiting from changes introduced with Java 11
- Summary
- Questions
- Further reading
-
Discovering Java 11
- Technical requirements
- Improved contended locking
- Segmented code cache
- Smart Java compilation
- Resolving lint and doclint warnings
- Tiered attribution for Javac
- Annotations pipeline 2.0
- New version-string scheme
- Generating runtime compiler tests automatically
- Testing class-file attributes generated by Javac
- Storing interned strings in class-data sharing archives
- Preparing JavaFX UI controls and Cascading Style Sheet APIs for modularization
- Compact strings
- Merging selected Xerces 2.11.0 updates into JAXP
- Updating JavaFX/Media to the newer version of GStreamer
- HarfBuzz font-layout engine
- HiDPI graphics on Windows and Linux
- Marlin graphics renderer
- Unicode 8.0.0
- Reserved stack areas for critical sections
- Dynamic linking of language-defined object models
- Additional tests for humongous objects in G1
- Improving test-failure troubleshooting
- Optimizing string concatenation
- HotSpot C++ unit-test framework
- Enabling GTK3 on Linux
- New HotSpot build system
- Consolidating the JDF forest into a single repository
- Summary
- Questions
- Further reading
-
Java 11 Fundamentals
- Technical requirements
- Working with variable handlers
- Import statement depreciation warnings
- Milling Project Coin
- Import statement processing
- Inferring local variables
- Thread-local handshakes
- Heap allocation on alternative memory devices
- Root certificates
- Dynamic class-file constants
- Removal of the Java EE and CORBA modules
- Summary
- Questions
- Further reading
- Building Modular Applications with Java 11
-
Migrating Applications to Java 11
- Technical requirements
- A quick review of Project Jigsaw
- How modules fit into the Java landscape
- Migration planning
- Advice from Oracle
- Runtime image changes
- Deploying your applications
- Useful tools
- Summary
- Questions
- Further reading
- Experimenting with the Java Shell
-
Leveraging the Default G1 Garbage Collector
- Technical requirements
- Overview of garbage collection
- The pre-Java 9 garbage collection schema
- Collecting garbage with the new Java platform
- Persistent issues
- Summary
- Questions
- Further reading
- Microbenchmarking Applications with JMH
- Making Use of the Process API
- Fine-Grained Stack Tracing
-
New Tools and Tool Enhancements
- Technical requirements
- Working with the HTTP client
- Understanding Javadoc and the Doclet API
- Changes to the Multiple JRE feature
- JavaScript Parser
- Multiple-release JAR files
- Java-level JVM Compiler Interface
- TIFF support
- Platform logging
- XML Catalogs
- Collections
- Platform-specific desktop features
- Enhanced method handling
- Enhanced depreciation
- The native header generation tool (javah)
- Summary
- Questions
- Further reading
- Concurrency Enhancements
-
Security Enhancements
- Technical requirements
- Datagram Transport Layer Security
- Creating PKCS12 keystores
- Improving security application performance
- The TLS application-layer protocol negotiation extension
- Leveraging CPU instructions for GHASH and RSA
- OCSP stapling for TLS
- DRBG-based SecureRandom implementations
- Summary
- Questions
- Further reading
- Command-Line Flags
- Additional Enhancements to the Java Platform
- Future Directions
- Contributing to the Java Platform
- Assessment
- Other Books You May Enjoy
Product information
- Title: Mastering Java 11 - Second Edition
- Author(s):
- Release date: September 2018
- Publisher(s): Packt Publishing
- ISBN: 9781789137613
You might also like
book
Core Java, Volume II--Advanced Features, 11th Edition
Core Java® has long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers …
book
Java Projects - Second Edition
Learn how to build scalable, resilient, and effective applications in Java that suit your software requirements. …
book
Distributed Computing in Java 9
Explore the power of distributed computing to write concurrent, scalable applications in Java About This Book …
book
Java 11 Cookbook
Solutions for modular, functional, reactive, GUI, network, and multithreaded programming Key Features Explore the latest features …