I cannot find any clear documentation about the exact effect of passing the -server
option when launching a sun HotSpot JVM.
Can anybody sum-up what it does?
With -server the JVM will compile hotspots (i.e. parts of the code that are often executed) more aggressively, and as a consequence the compiler will take more time to do so. This is not a problem since you only use this option when your processes run for extended periods of time (e.g. on a server).
When using -client, the optimizations that are done are much lighter and quicker, because you don't want long pauzes when the compiler kicks in when running a client app.