I am on a Linux machine and use openjdk7. After finding my code was executed twice as fast when using the -server option, i dove deeper into what was happening inside the VM and found that the Server VM inlines my code like crazy, while the Client VM does not inline at all.
Is this normal behavior?
It is normal behaviour.
The server JVM optimises the code more heavily. This uses more CPU on startup and more memory when it is running.
The client VM is designed to quick start up e.g. applets. It is the default on Windows 32-bit JVMs only.