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 May 2012

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

Included in the list of goodies I mentioned in last month's newsletter that are now available in Java7 u4 were GC notifications, and this month I've written an article showing how they are accessed. Pop over to and adapt the code for your application so that your GC monitoring is state-of-the-art.

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***.

Also, I promised to get back to you about the initial JVM heap size - a question I asked you two newsletters ago. Your replies were very useful and interesting. First off a number of you pointed out that some JVMs had no initial heap size to even specify (e.g. Excelsior Jet and Azul Zing). Then, for those JVMs that do specify initial heap size, the JVM specifics and the garbage collector in use mattered. A few of you had actually varied the initial heap when you tuned your systems and were able to tell me that: The Oracle JVM on some systems with some garbage collectors showed worse performance with initial set to maximum heap; whereas the IBM JVM on some systems showed better performance with initial set to maximum heap.

It's worth pointing out that any performance gain or loss from this is going to be very small, and several of you just set initial to maximum to make configuration simpler (one less thing to worry about) - if performance is adequate, I guess this is not unreasonable.

The summary for me is that I've learned there is still no optimal choice for the initial heap size - you need to test it for your choice of JVM and garbage collector, along with any other tunable options, and see what's best for your application. Not the clarity of result I'd like, but not really surprising.

Finally, I'm going to mention Madhu Konda and his recently published book "Just Spring Integration" not because it is relevant to Java performance, but because we had a chat about it after out of the blue Madhu stopped me in the street having recognised me! Any other Java authors who randomly stop me in the street for a chat will similarly get a mention in future :-)

Now on to all our usual links to Java performance tools, news, articles. We've got that article on Garbage Collection JMX Notifications and, as ever, all the extracted tips from all of this month's referenced articles.

A note from this newsletter's sponsor

New Relic RPM - The Revolution in Java Performance Management is Here!
Affordable SaaS APM tool to monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin


Java performance tuning related news.


Java performance tuning related tools.

A note from this newsletter's sponsor

Free Java Performance Tool - From AppDynamics
Fight fires in production with less than 2% overhead.
Gain complete visibility into your java app. Free Download!


Jack Shirazi

Back to newsletter 138 contents

Last Updated: 2022-06-29
Copyright © 2000-2022 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