Explore the new Java 9 modules, SDK, JDK, JVM, JShell and more in this comprehensive book that covers what's new in Java 9 and how to use these new features. Java 9 Revealed
is for experienced Java programmers looking to migrate to Java 9. Author Kishori Sharan
begins by covering how to develop Java applications using the new module system introduced in Java 9 and how to use the JShell tool in Java 9 for prototyping, compiling and testing.
The book provides extensive coverage of new Java 9 features, such as the new layout of the modular JDK/JRE runtime image, new convenience factory methods for creating collections, the new spin-wait hints introduced to improve performance of spin loops in your code, and the new Desktop API for implementing platform-specific desktop features. Along the way you will also learn how to use the Reactive Streams API in Java 9 and, most importantly, this book will show you the breaking changes in Java 9.
What You'll Learn
- How JShell facilitates rapid development, code evaluation, and testing
- Discover what is new in the Process API
- Inspect a thread's stack with the Stack-Walking API
- Use the jlink tool to create a custom runtime image
- Work with HTML5 Javadoc and use the new search feature in Javadoc
- Learn how to use new methods and collectors in the Streams API
- Learn how to create a custom logger to log messages from platform classes and how to use JVM logs
- Learn about new methods in the Optional class and how to use them
- Learn how to compare arrays and slices of arrays
- Learn how to use the enhanced try-with-resources blocks
- Make your object deserialization more secure by using object deserialization filters
Who This Book Is For
Experienced Java programmers and developers.
1. Introducing Java 9 and Timeline2. The Module System 3. Creating Your First Module4. Module Dependency 5. Implementing Services6. Packaging Modules7. Creating Custom Runtime Images8. Breaking Changes in JDK 99. Breaking Module Encapsulation10. The Module API11. The Java Shell12. Process API Updates13. Collection API Updates14. The HTTP/2 Client API15. Enhanced Deprecation16. Stack Waking17. Reactive Streams18. Streams API Updates19. Platform and JVM Logging20. Other Changes in JDK 9