In OpenJDK 6 and 7, the CMSClassUnloadingEnabled flag does not do anything without also using UseConcMarkSweepGC. This can be confirmed by downloading the OpenJDK source, and viewing hotspot/src/share/vm/runtime/globals.hpp