java并发编程实践学习(三)JVM的server模式和client模式

     《java并发编程实践》作者讲述volatile关键字的时候,在书中的注脚提到了JVM的server模式和client模式。以前自己从来没有听说过这个东西,不得不感概自己知识面的狭窄,编程的世界浩瀚!于是上网上看一些别人的博客,扫个盲,这里记录下一些相关概念。

       首先说下server模式和client模式的区别。Jvm有client和server两个版本,分别针对桌面应用程序和服务端应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较快。简言之:client版本启动快,server版本运行快。由于服务器的CPU、内存和硬盘都比客户端机器强大,所以程序部署后,都应该以server模式启动,获取较好的性能。

如何查看安装的JDK,到底是client版本还是server版本呢?我们可以借助JDK_HOME/bin下的java命令,执行java  -version就可以看到JVM的相关信息了。


如果我们启动java应用的时候没有显示指定server模式,还是client模式,JVM会自行根据硬件情况进行判断,具体的判断标准可以参考官方文档Server-Class Machine Detection

      下面看下server和client模式的切换。JDK的安装目录JAVA_HOME/jre/bin下,会有2个目录server与client。这个就是他们的运行环境的动态库.那么怎么切换呢?找到JAVA_HOME/jre/lib/i386/jvm.cfg,这就是JVM默认的查找顺序,用notepad++打开

-client KNOWN
-server KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERROR

由于-client在上面,所以默认是client模式启动的;如果想以server模式启动,交换-client和-server的顺序即可。









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值