zoukankan      html  css  js  c++  java
  • JVM的Client模式与Server模式

    JVM有两种运行模式Server与Client。

    使用java -version就能查看当前处于什么模式。

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

    JVM启动检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,J2SE5.0检测的根据是至少2个CPU和最低2GB内存。

    当JVM运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高.

    怎么修改JVM的启动模式呢?

    64位系统默认在 JAVA_HOME/jre/lib/amd64/jvm.cfg

    32在目录JAVA_HOME/jre/lib/i386/jvm.cfg

    虚拟机模式切换。

    如果只是临时切换,可以直接使用命令行执行,格式如:

    如果永久切换可以修改配置文件,配置文件在“JAVA_HOME/jre/lib/i386/jvm.cfg”,我们可以看到JVM默认的顺序:

    只需要把-server和-clent调换顺序即可:

    JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%。

    JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M。

    参考:

    https://www.cnblogs.com/wxw7blog/p/7221756.html

    https://blog.csdn.net/liuxiao723846/article/details/50721183

    https://www.cnblogs.com/huzi007/p/6728328.html

  • 相关阅读:
    Python多进程编程
    Cython学习
    cProfile——Python性能分析工具
    Python垃圾回收机制:gc模块
    新纪元
    类模版的static成员
    我的2015plan
    Linux之sed
    getenv, _wgetenv
    vs2010下如何调试带输入参数的程序
  • 原文地址:https://www.cnblogs.com/DreamFather/p/11327884.html
Copyright © 2011-2022 走看看