zoukankan      html  css  js  c++  java
  • jvm client模式和server模式

    <a href="http://rizhibao.com" name="rizhi1410bbf4a601264e3f1d4d22c9e390ddbao" >日志宝-在线日志分析平台</a>

    主要区别:client模式启动快,运行速度慢(启动快可能是由于数据共享),HotSpot VM的client模式实现了数据共享。Server 模式 启动慢,执行速度快。默认情况下,启动时JVM会通过检测主机是否为服务器来判定使用client模式还是server模式。client模式适用于GUI的开发,Server模式适用于Java Server

    下面是51CTO的一篇文章

    这里向大家描述一下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默认工作在什么模式。

  • 相关阅读:
    weblogic一些基本概念
    网络通信框架Apache MINA
    SpringMVC利用Hibernate validator做字段验证
    jQuery.extend 函数详解
    Spring测试
    java的string.split()分割特殊字符时注意点
    SpringMVC集成shrio框架
    使用SpringMVC时,配置DispatcherServlet注意的url-pattern的问题
    jsp页面中EL表达式不能被解析
    SpringMVC的视图解析器
  • 原文地址:https://www.cnblogs.com/jpfss/p/8781140.html
Copyright © 2011-2022 走看看