Java code optimisations are applied during runtime as the Hotspot VM sees fit. (As far as I know, this involves keeping track of method invocation counts and compiling frequently called methods into native code and trying several types of optimisations as well.)
The only remotely connected switch you can use with javac
is -g:none
which tells the compiler to omit debug information: this doesn't really affect the performance of your code but it decreases the size of the .class
files.
When you start the VM though, you have a choice between -server
and -client
options, which will affect the range of optimisations and how early they kick in.