Java GC
JVM GC settings
Avoid optimising the Java Garbage Collector unless you have very specific performance model requirements that demand a specific GC, or if you have a known problem with the throughput or JVM pauses.
Class unloading
http://stackoverflow.com/questions/3334911/what-does-jvm-flag-cmsclassunloadingenabled-actually-do
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
Remember that JVM options change from time-to-time, so you’ll find that newer JVMs have additional facilities, may remove some options or slightly change their behaviour, or in some cases make them meaningless. One example that springs to mind is the MaxPermGen option and how it doesn’t relate to Java 8 which just gives an informational message that it’s not needed.