Real differences between “java -server” and “java -client”?

Is there any real practical difference between “java -server” and “java -client”? All I can find on Sun’s site is a vague “-server starts slower but should run faster”. What are the real differences? (Using JDK 1.6.0_07 currently.)

This is really linked to HotSpot and the default option values (Java HotSpot VM Options) which differ between client and server configuration.

One difference I've just noticed is that in "client" mode, it seems the JVM actually gives some unused memory back to the operating system - whereas with "server" mode, once the JVM grabs the memory, it won't give it back. Thats how it appears on Solaris with Java6 anyway (using prstat -Z to see the amount of memory allocated to a process).