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 November 2023

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

The number of JVM configuration options that you can change dynamically has always been very limited. You can see the (fairly short) list with java -XX:+PrintFlagsFinal -version | [grep|findstr] "manageable" (grep on Unix, findstr on Windows).

Part of the reason is that the process data structure of the JVM is dramatically different depending on which GC algorithm is chosen (so it's hugely unlikely that the choice of GC algorithm will ever be dynamically alterable). Part of the reason is that it's much much easier programmatically to check a value at (lazy) initialization and assume that value is never subsequently changed asynchronously. If you have to assume a value can be changed at any time, you have the full overhead of concurrent programming considerations to work through, something people are very bad at. Immutable values and structures and objects are much more efficient to manage and to reason about. This is especially true for performance.

So we're unlikely to see that list ever grow significantly, even though some JVM options would be very useful to change dynamically. Now on to all the usual newsletter list of links, tips, tools, news and articles, and as usual I've extracted all the tips 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 performance tuning related tools


Jack Shirazi

Back to newsletter 276 contents

Last Updated: 2024-01-29
Copyright © 2000-2024 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