From the Java docs,
Disable background compilation. Normally the VM will compile the method as a background task, running the method in interpreter mode until the background compilation is finished. The -Xbatch flag disables background compilation so that compilation of all methods proceeds as a foreground task until completed.
So what does it actually do? If I pass the -Xbatch flag to the VM, will that mean it compiles everything before running? Or does the program hang for moments when the compilation is brought to the foreground?
I've tried passing it to some programs of mine but I've seen no noticable difference. The speed and all is still the same.