JVM client模式和Server模式的区别

开发
JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。

这里向大家描述一下JVM client模式和Server模式两者的区别和联系,JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。

JVM client模式和Server模式

JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。

前段时间有个同事给我发了个java跟c++性能比较的文章,其中有个对比图引起了我的兴趣,意外的是,我感兴趣的不是java和c++的对比,而是java -Server模式和java -client模式的对比。从来没想到两者间的性能有如此巨大的差别。而在后来自己的亲身测试中发现确实如此。

下面是我看到的那个对比图:

图中最显著的就是JVM client模式和Server模式关于method call的对比,那个差别不是一般的大,在后来的测试中发现,相差至少有10倍。

下面是另外两个对比图:

 

 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默认工作在什么模式。

【编辑推荐】

  1. 图例解析JDK,JRE,JVM概念及使用
  2. Linux和Windows下的Tomcat JVM内存设置
  3. 揭露MyEclipse JVM内存不足的内幕
  4. 专家指导 如何进行JVM参数配置
  5. 巧解IBM JVM for Linux onPOWER性能调优


 

责任编辑:佚名 来源: blog.163.com
相关推荐

2010-09-27 16:07:06

JVM Server模Client模式

2010-10-28 11:36:16

Oracle用户

2017-09-25 16:21:30

Spark on yacluster模式

2009-02-16 17:18:31

恢复备份模式

2010-03-19 12:14:13

无线AP Client

2011-07-21 17:02:48

JAVA模式框架

2022-05-16 11:04:43

RocketMQPUSH 模式PULL 模式

2010-07-27 10:38:02

NFS ServerNFS Client

2021-02-06 21:57:40

Debug模式Release

2023-05-23 22:06:47

云平台

2023-08-28 10:52:52

Full模式Lite

2011-08-01 10:35:26

数据库外模式模式

2024-04-12 12:10:18

Python设计模式开发

2024-01-31 09:50:10

JVM逃逸分析HotSpot

2010-07-06 10:19:15

SQL Server层

2010-07-19 18:04:23

SQL Server锁

2021-04-19 21:25:48

设计模式到元

2010-09-25 14:58:12

JVMJDKJRE

2023-10-30 18:59:38

REST API开发

2016-12-19 09:21:26

WindowsClean Boot区别
点赞
收藏

51CTO技术栈公众号