Use of java -server option
java, jvm
Solution
Since, it is implicit with 64-bit JDK, we don't need to add this argument while running command java, am I right?
Correct. If you're running a 64-bit JVM then it makes no difference if the user passed the `-server` option.
Further documentation here says that server-class machine is one with at least 2 CPUs and at least 2GB of physical memory. Is this still true/applies with JDK7u25?
In light of your first quote about 64-bit JVMs, this criteria would only be used for 32-bit runtimes.
As from the documentation it is understood that it improves the performance if -server option is used with server-class machine, I would like to know is there any other specific advantage?
As your first quote mentioned, `-server` enables the Java HotSpot Server VM. This means the JVM will do more aggressive just-in-time (JIT) compile optimizations. This is disabled for non-server-class machines because doing the optimizations could slow down the program too much, but with modern machines you often have cores to spare, so the optimizing JIT could be off running in its own thread while your program plugs along.
Problem
The Oracle documentation says: -server Select the Java HotSpot Server VM. On a 64-bit capable jdk only the Java HotSpot Server VM is supported so the -server option is implicit. This is subject to change in a future release. For default VM selection, see Server-Class Machine Detection Since, it is implicit with 64-bit JDK, we don't need to add this argument while running command `java`, am I right? Further documentation here says that server-class machine is one with at least 2 CPUs and at least 2GB of physical memory. Is this still true/applies with JDK7u25? As from the documentation it is understood that it improves the performance if -server option is used with server-class machine, I would like to know is there any other specific advantage?