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 2015

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

Shortly after I published my reference article listing all the garbage collectors that are available for the Oracle JVM in Java 7, someone at Oracle took a look at my full list and said to themselves "why on earth are we supporting all those different options! Surely we don't need them all, and simplification means lower maintenance". And as a result, Oracle targeted removing some of these options from the JVM, resulting in the enhancement JEP 173 (see the news items below).

A note from this newsletter's sponsor : Deep dive Application Performance Monitoring
Fix performance issues with Java, .NET and Ruby platforms
Monitor app instance at $12/Month. 30-day free trial. Sign Up!

Rather than remove some options immediately, Oracle instead deprecated them in Java8. Three combinations are deprecated: Incremental CMS; DefNew + CMS; and ParNew + SerialOld.

So specifically, using any of the following options will produce a warning from the Java 8 JVM on startup: "... is deprecated and will likely be removed in a future release":
-Xincgc (Incremental CMS)
-XX:CMSIncrementalMode (Incremental CMS)
-XX:+UseParNewGC (ParNew + SerialOld)
-XX:+UseParNewGC -XX:-UseConcMarkSweepGC (ParNew + SerialOld)
-XX:-UseParNewGC -XX:+UseConcMarkSweepGC (DefNew + CMS)

In Java 9, these combinations will cause a startup error instead of the deprecated message, aborting JVM startup. Indeed Java 9 has more extensive command-line option validation so if you include any incorrect options it will error and abort on startup (eg the -XX:MaxPermSize flag will prevent the JVM starting as Java 9 has no perm space - in Java 8 that option is just ignored).

I've now updated the list of Oracle garbage collectors to include the Java 8 and Java 9 changes. Now on to all our usual sections: links to tools, articles, news, talks and as ever, all the extracted tips from all of this month's referenced articles .


Java performance tuning related news.


Java performance tuning related tools.

A note from this newsletter's sponsor

New Relic - Try New Relic today and get your free Data Nerd shirt!
Free SaaS APM tool to monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin


Jack Shirazi

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