Book description
Best practices to adapt and bottlenecks to avoid
About This Book
- Tackle all kinds of performance-related issues and streamline your development
- Master the new features and new APIs of Java 9 to implement highly efficient and reliable codes
- Gain an in-depth knowledge of Java application performance and obtain best results from performance testing
Who This Book Is For
This book is for Java developers who would like to build reliable and high-performance applications. Prior Java programming knowledge is assumed.
What You Will Learn
- Work with JIT compilers
- Understand the usage of profiling tools
- Generate JSON with code examples
- Leverage the command-line tools to speed up application development
- Build microservices in Java 9
- Explore the use of APIs to improve application code
- Speed up your application with reactive programming and concurrency
In Detail
Finally, a book that focuses on the practicalities rather than theory of Java application performance tuning. This book will be your one-stop guide to optimize the performance of your Java applications.
We will begin by understanding the new features and APIs of Java 9. You will then be taught the practicalities of Java application performance tuning, how to make the best use of garbage collector, and find out how to optimize code with microbenchmarking. Moving ahead, you will be introduced to multithreading and learning about concurrent programming with Java 9 to build highly concurrent and efficient applications. You will learn how to fine tune your Java code for best results. You will discover techniques on how to benchmark performance and reduce various bottlenecks in your applications. We'll also cover best practices of Java programming that will help you improve the quality of your codebase.
By the end of the book, you will be armed with the knowledge to build and deploy efficient, scalable, and concurrent applications in Java.
Style and approach
This step-by-step guide provides real-world examples to give you a hands-on experience.
Table of contents
- Learning Java 9 Underlying Performance Improvements
-
Identifying Performance Bottlenecks
- CPU infrastructure
-
Memory utilization
- Java heap
- Java stack
- Java heap versus stack memory
- Escape analysis
-
Common memory problems
-
OutOfMemory
- Mismanagement of object life cycle: java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: GC Overhead limit exceeded
- java.lang.OutOfMemoryError: Permgen space
- java.lang.OutOfMemoryError: Metaspace
- java.lang.OutOfMemoryError: Unable to create new native thread
- java.lang.OutOfMemoryError: request size bytes for reason
- java.lang.OutOfMemoryError: Requested array size exceeds VM limit
- Out of memory: kill process or sacrifice child
- StackOverFlow
-
OutOfMemory
- Database operations
- I/O operations
- Network operations
- Summary
-
Learning How to Troubleshoot Code
- Measuring performance
- Performance checklist
- Basic principles of troubleshooting
- Importance of error handling
- Analyzing thread dump
- Analyzing heap dump
- Summary
- Learning How to Use Profiling Tools
- Understanding Garbage Collection and Making Use of It
- Optimizing Code with Microbenchmarking
- Speeding Up JSON Generation
- Tools for Higher Productivity and Faster Application
- Multithreading and Reactive Programming
- Microservices
- Making Use of New APIs to Improve Your Code
Product information
- Title: Java 9 High Performance
- Author(s):
- Release date: November 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787120785
You might also like
book
Java EE 8 High Performance
Get more control of your applications performances in development and production and know how to meet …
book
Distributed Computing in Java 9
Explore the power of distributed computing to write concurrent, scalable applications in Java About This Book …
book
Java Performance: The Definitive Guide
Coding and testing are often considered separate areas of expertise. In this comprehensive guide, author and …
book
Java 9: Building Robust Modular Applications
Mastering advanced features of Java and implement them to build amazing projects About This Book Take …