Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers| Heap dump analysers|

Our valued sponsors who help make this site possible
JProfiler: Get rid of your performance problems and memory leaks! 

Training online: Concurrency, Threading, GC, Advanced Java and more ... 

News February 2021

Get rid of your performance problems and memory leaks!

Modern Garbage Collection Tuning
Shows tuning flow chart for GC tuning

Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:

Training online
Threading Essentials course

Get rid of your performance problems and memory leaks!

Back to newsletter 243 contents

As usual just before each Java release, I'm listing all the new performance features in the upcoming release of Java 16 (I have done this every 6 months prior to each new release, you can track back to the previous February and August newsletters if you want to see what's new performance-wise in any release). As usual I give the new features, the performance benefits from each feature, and how to use the feature.

Java 16 has one big performance feature: similar to last month's announcement that Shenandoah should have no pauses over a millisecond in Java 17, ZGC has achieved the same fully concurrent status, but actually one release earlier! That's great, it means you can start testing straight away whether it works for you. As with Shenandoah, you'll need to have sufficient additional CPU and memory to achieve that performance. For small heaps (up to 1GB) or high throughput applications (ZGC and Shenandoah are targeting pauses, not throughput) it's likely that G1 is the better GC option (so good to see G1 features continued to be worked on, see JDK-8236926 below).

There are other performance features in this release: there's good news if you want minimal container footprint with the alpine port; if you need the fastest local inter-process communication we now have unix-domain socket channels (also works on Windows, MacOS, etc); Metaspace memory management is better; C++ support is upgraded; vector hardware support is testable; and Records are fully released - although not a direct performance improvement, this should improve the use of immutable objects and that will gradually feed in to better performance

Now on to the details of those Java 16 changes, including the options you have available to use them. And of course the tips from this month's articles, as ever are extracted into this month's tips page.

A note from this newsletter's sponsor

Get rid of your performance problems and memory leaks!


Java performance tuning related news - Java 16 generally useful performance features.

Java performance tuning related news - Java 16 niche but useful performance features.


Jack Shirazi

Back to newsletter 243 contents

Last Updated: 2023-01-29
Copyright © 2000-2023 All Rights Reserved.
All trademarks and registered trademarks appearing on are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
RSS Feed:
Trouble with this page? Please contact us