在dos窗口运行:java -server
Error: missing `server‘ JVM at `C:\Program Files\Java\jre7\bin\server\jvm.dll‘.
Please install or use the JRE or JDK that contains these missing components.
网上的意思:
找到jdk安装目录下面 jre\bin 里面有 client 和 server 文件夹。
把 server 文件夹复制到 C:\Program Files\Java\jre7\bin\ 中就行了。
但我操作完成后,再试: java -server,显示:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/invoke/AdapterMethodHandle
我又执行了一下: path c:\jdk\bin
然后再试 java -server, 终于成功了。 (可能是因为我的电脑上同时装了 jdk1.6 和 jdk1.7)
试了一下 java -server -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode)
下面是关于 -client 与 -server 的不同之处:
java -version //查看JVM默认的环境
java -client -version //查看JVM的客户端环境,针对GUI优化,启动速度快,运行速度不如server
java -server -version //查看JVM的服务器端环境,针对生产环境优化,运行速度快,启动速度慢
JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%。当该参数不指定时,虚拟机启动检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,J2SE5.0检测的根据是至少2个CPU和最低2GB内存。
当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。
JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M。我们可以通过运行:java -version来查看jvm默认工作在什么模式。
server jvm比client jvm进行了更多的优化,但同时这种优化有可能会引起一些在client jvm不会出现的问题,所以说在开发和测试的时候也尽量指定为server jvm