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 September 2009

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

Kirk pointed me at 97_Things_Every_Programmer_Should_Know and I immediately thought to myself "what is the one piece of advice I would contribute"? It took me all of 10 seconds to realise the most important thing from my point of view (the performance tuner and troubleshooter point of view): build your application with low cost monitoring in mind.

It doesn't have to be complex monitoring, simple logging statements that are easily identifiable, filterable, parsable, don't have too much volume, and have no significant overhead, works well. I'm put in mind of the JVM GC logging. It's pretty low tech, just prints lines to output, not too much overhead, and you can only really change the amount or level of logging at startup. But even so, it's low cost enough to be able to run in production (nowadays); and sufficient to be able to identify whether you have a GC problem, the likely type of problem, where to look next, and what parameters to tweak. Of course it could be much better, but so could almost everything in life. It's a huge sight better than nothing. The critical thing is that it has timing information and all the required information to performance monitor the GC.

A note from this newsletter's sponsor

In this new Quest white paper, discover an easy-to-follow process that
guides you through the Java Virtual Machine heap to help find and fix
memory leaks. Read this white paper today.

That doesn't mean you need to build some huge monitoring infrastructure. With Java you just need a little foresight and some effort looking through the tools we list, and you already have much of what you need out of the box. Turn on GC logging, use jconsole or equivalent, and you are half way there. Better still, use cache and pool classes that publish their stats and are runtime tunable.

The 'low cost' bit is essential. You want to run in production with monitoring turned on. Low cost means low overhead but also low maintenance costs. Consider the volume of logging output. Where does it go, what needs to be kept, is there a rollover strategy, will a problem saturate the disks, and so on. Anyway, that's my 'thing every programmer should know'.

Now on with this month's newsletter. We have all our usual Java performance tools, news, and article links. Javva The Hutt writes in praise of Verity Stob; there's a new cartoon at fasterj Concurrency vs. Parallelism; and, as usual, we have extracted tips from all of this month's referenced articles.

A note from this newsletter's sponsor

Join Will Cappelli of leading analyst firm Gartner and Tidal Software
to learn about the 4 Dimensions of Application Performance Monitoring,
the technologies that address them, and Tidal Intersperse 8.0 release.


Java performance tuning related news.


Java performance tuning related tools.

A note from this newsletter's sponsor

ManageEngine: Application Performance Management for Java EE Apps.
Monitor App Servers: JBoss, WebSphere, WebLogic, JVMs and JMX Apps.
*** Monitor up to 25 App Servers, Databases & Servers at $795/Yr***.


Jack Shirazi

Back to newsletter 106 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