JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是:
当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高.
java -version 可以直接查看出你使用的是client还是 server
Jvm client代码:
Jvm server代码:
两种模式的切换可以通过更改配置(jvm.cfg配置文件)来实现:
32位的虚拟机在目录JAVA_HOME/jre/lib/i386/jvm.cfg,
64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式, 配置内容大致如下
一般只要变更 -server KNOWN 与 -client KNOWN 两个配置位置先后顺序即可,前提是JAVA_HOME/jre/bin 目录下同时存在 server 与client两个文件夹,分别对应着各自的jvm.
缺少其中一个,切换模式就会报错.类似下图:
本文详细介绍了Java虚拟机的Server模式与Client模式的区别。Server模式启动较慢但运行性能高,使用C2编译器;Client模式启动快但性能较低,使用C1编译器。文章还提供了如何通过配置文件切换这两种模式的方法。
86万+

被折叠的 条评论
为什么被折叠?



