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 August 2020

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 237 contents

This month I'm listing all the new performance features in the upcoming release of Java 15 (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 15 has a bunch of niche performance features I'll sumarize shortly, but there is one general one that is really useful for everyone: finally you can have heap dumps written in compressed (gzip) format! I've added the compress-after-dump step so many times it's automatic, I forgot it's even a feature I'd like for the JVM, so this is a lovely additional feature. Also worth mentioning in the general feature area is that ZGC and Shenandoah are no longer experimental from Java 15 (though people have been using these in production prior to Java 15 anyway, so this just formalizes the reality).

What about the niche features? If you are a 3rd-party library builder, you want to start using Hidden classes (JEP371) to decrease your class lifecycle and improve your footprint; if you do any off-heap work you want to review the Foreign-Memory Access API (JEP383) to make sure it covers your use cases or feedback quickly; if you use UDP you want to test with the new DatagramSocket implementation (JEP373) as there will be subtle changes that could affect you; anyone using biased locking to get that last little performance boost needs to feedback quickly if removing it has serious consquences, as it's going away (JEP374); if you used and need high performance Network Interface Cards (NIC) for your app, SO_INCOMING_NAPI_ID is now supported (JDK-8243099); anyone padding or structuring their classes for cache-line management needs to review the structure as the field layout computation has changed (JDK-8237767).

Now on to the details of those Java 15 changes, including the options you have available to use them.

A note from this newsletter's sponsor

Get rid of your performance problems and memory leaks!


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

Java performance tuning related news - Java 15 niche performance features.

Java performance tuning related news - Java 15 even nicher performance features.

The following JEPs released in JDK 15 version have no performance nor memory impact: JEP378 (Text Blocks); JEP372 (Remove the Nashorn JavaScript Engine); JEP381 (Remove the Solaris and SPARC Ports); JEP385 Deprecate RMI Activation for Removal); JEP360 (Sealed Classes preview) and JEP375 (Pattern Matching for instanceof preview)

Jack Shirazi

Back to newsletter 237 contents

Last Updated: 2023-08-28
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