Java 9 High Performance

Best practices to adapt and bottlenecks to avoid
Preview in Mapt

Java 9 High Performance

Mayur Ramgir, Nick Samoylov

Best practices to adapt and bottlenecks to avoid
Mapt Subscription
FREE
$29.99/m after trial
eBook
$10.00
RRP $39.99
Save 74%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$10.00
$49.99
$29.99 p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Java 9 High Performance Book Cover
Java 9 High Performance
$ 39.99
$ 10.00
Java EE 8 High Performance Book Cover
Java EE 8 High Performance
$ 39.99
$ 10.00
Buy 2 for $20.00
Save $59.98
Add to Cart

Book Details

ISBN 139781787120785
Paperback398 pages

Book Description

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.

Table of Contents

Chapter 1: Learning Java 9 Underlying Performance Improvements
Introducing the new features of Java 9
Modular development and its impact
String operations performance
Storing interned strings in CDS archives
Concurrency performance
Compiler improvements
Security manager improvements
Graphics rasterizers
Summary
Chapter 2: Identifying Performance Bottlenecks
CPU infrastructure
Memory utilization
Database operations
I/O operations
Network operations
Summary
Chapter 3: Learning How to Troubleshoot Code
Measuring performance
Performance checklist
Basic principles of troubleshooting
Importance of error handling
Analyzing thread dump
Analyzing heap dump
Summary
Chapter 4: Learning How to Use Profiling Tools
Introducing profiling
Why a developer should use a profiling tool
The art of profiling
The different types of Java profiling tool
Summary
Chapter 5: Understanding Garbage Collection and Making Use of It
Understanding the Java 9 garbage collector for top optimization
GC in Java
Parallelism
The new G1 collector
Summary
Chapter 6: Optimizing Code with Microbenchmarking
The concept of microbenchmarking
Understanding the JMH
Why use microbenchmarking?
The benefits of using the JMH
Summary
Chapter 7: Speeding Up JSON Generation
A transparent understanding of JSON in Java
A brief history of JSON and examples
Understanding JSON generation
Understanding the tree model
Converting CSV to JSON
Converting Excel to JSON
Understanding value trees
The benefits of using JSON
Summary
Chapter 8: Tools for Higher Productivity and Faster Application
Chapter 9: Multithreading and Reactive Programming
Prerequisites
Thread pools
Monitoring threads
Sizing thread pool executors
Thread synchronization
Tuning JVM
Reactive programming
Summary
Chapter 10: Microservices
Why microservices?
Building microservices
Container-less deployment
Self-contained microservices
In-container deployment
Summary
Chapter 11: Making Use of New APIs to Improve Your Code
Filtering streams
Stack-walking APIs
Convenience factory methods for collections
CompletableFuture in support of asynchronous processing
Stream API improvements
Summary

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

Authors

Table of Contents

Chapter 1: Learning Java 9 Underlying Performance Improvements
Introducing the new features of Java 9
Modular development and its impact
String operations performance
Storing interned strings in CDS archives
Concurrency performance
Compiler improvements
Security manager improvements
Graphics rasterizers
Summary
Chapter 2: Identifying Performance Bottlenecks
CPU infrastructure
Memory utilization
Database operations
I/O operations
Network operations
Summary
Chapter 3: Learning How to Troubleshoot Code
Measuring performance
Performance checklist
Basic principles of troubleshooting
Importance of error handling
Analyzing thread dump
Analyzing heap dump
Summary
Chapter 4: Learning How to Use Profiling Tools
Introducing profiling
Why a developer should use a profiling tool
The art of profiling
The different types of Java profiling tool
Summary
Chapter 5: Understanding Garbage Collection and Making Use of It
Understanding the Java 9 garbage collector for top optimization
GC in Java
Parallelism
The new G1 collector
Summary
Chapter 6: Optimizing Code with Microbenchmarking
The concept of microbenchmarking
Understanding the JMH
Why use microbenchmarking?
The benefits of using the JMH
Summary
Chapter 7: Speeding Up JSON Generation
A transparent understanding of JSON in Java
A brief history of JSON and examples
Understanding JSON generation
Understanding the tree model
Converting CSV to JSON
Converting Excel to JSON
Understanding value trees
The benefits of using JSON
Summary
Chapter 8: Tools for Higher Productivity and Faster Application
Chapter 9: Multithreading and Reactive Programming
Prerequisites
Thread pools
Monitoring threads
Sizing thread pool executors
Thread synchronization
Tuning JVM
Reactive programming
Summary
Chapter 10: Microservices
Why microservices?
Building microservices
Container-less deployment
Self-contained microservices
In-container deployment
Summary
Chapter 11: Making Use of New APIs to Improve Your Code
Filtering streams
Stack-walking APIs
Convenience factory methods for collections
CompletableFuture in support of asynchronous processing
Stream API improvements
Summary

Book Details

ISBN 139781787120785
Paperback398 pages
Read More

Read More Reviews

Recommended for You

Microservice Patterns and Best Practices Book Cover
Microservice Patterns and Best Practices
$ 35.99
$ 10.00
Understanding Software Book Cover
Understanding Software
$ 23.99
$ 10.00
Architecting Modern Java EE Applications Book Cover
Architecting Modern Java EE Applications
$ 39.99
$ 10.00
Developing Middleware in Java EE 8 Book Cover
Developing Middleware in Java EE 8
$ 39.99
$ 10.00
Practical Time Series Analysis Book Cover
Practical Time Series Analysis
$ 35.99
$ 10.00
Java EE 8 Application Development Book Cover
Java EE 8 Application Development
$ 43.99
$ 10.00