Want to practice Java witchcraft? Take all the ingredients to prepare potion.
Real hackers (at heart) want to know _all_ existing options switchers and parameters a command/program/frameworks gives. No wonder that playing with Java demands from you to posess all such possible options. Whether you want to choose a JIT or to choose a GC, confine JVM’s behavior to chase after a bug or play with class loading mechanism, define memory boundaries or specify advanced printing options – in all cases Java options (documented or not) are very required.
Joseph Mocker has done tremendous work by collecting all (at least known to him) existing Java options and putting them in a list with adequate comments across different JDK (1.3-1.5). There are about 50 standard and more than 400(!) not-documented options. Here is’s appropriate cite to the official HotSpot VM Options page:
- Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the Java 2 SDK.
- Because the -XX options have specific system requirements for correct operation and may require privileged access to system configuration parameters, they are not recommended for casual use. These options are also subject to change without notice.
But nevertheless it’s very cool to have such a list and I’d advise you to copy it from the site just in case.