• 关于jvm client 与 jvm server 有什么区别, 如何启动jvm client


    看看你下面的这两个文件,是不是尺寸差别很大?
    %JAVA_HOME%/jre/bin/client/jvm.dll
    %JAVA_HOME%/jre/bin/server/jvm.dll
    Jvm动态库有client和server两个版本,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较快。
    让Tomcat 使用Server版本的jvm吧 在开始菜单 tomcat5 ->tomcat config的java属性中 有一项 jvm路径指向server目录下的jvm就行了。
    启动速度对比一下,在我的C4.17 512M 的机器上client 版本一般在8s-16s内启动完成 server版本 在21s-26s左右启动完成。

    更改默认java.exe调用的jvm.dll,这个由jvm.cfg决定。
    编辑%JAVA_HOME%jrelibi386jvm.cfg
    里面第一行写的是 -client 默认就是client版本 ,把第二行的-server KNOWN 放到第一行,如下面所示
    -server KNOWN
    -client KNOWN
    -hotspot ALIASED_TO -client
    -classic WARN
    -native ERROR
    -green ERROR
    改完保存,然后看看默认版本:
    C:java -version
    java version “1.4.2_07”
    Java™ 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
    Java HotSpot™ Server VM (build 1.4.2_07-b05, mixed mode)
    看到没有 Server VM 字样?是不是很酷啊!,小心机器不够快,启动等得你疯掉 :)

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

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

    启动client jvm 和server jvm的方式如下:
      java -client yourclass
      java -server yourclass

    更改默认java.exe调用的jvm.dll,这个由jvm.cfg决定。

    32位的虚拟机在目录JAVA_HOME/jre/lib/i386/jvm.cfg,

    64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式。

    改变32位的虚拟机java.exe默认调用的jvm.dll。

    编辑%JAVA_HOME%jrelibi386jvm.cfg
      里面第一行写的是 -client 默认就是client版本 ,把第二行的-server KNOWN 放到第一行, 如下面所示
      -server KNOWN
      -client KNOWN
      -hotspot ALIASED_TO -client
      -classic WARN
      -native ERROR
      -green ERROR
      改完保存,然后看看默认版本:
      C:java -version

  • 相关阅读:
    AI变现之数字人工具库账号引流
    OpenCV图像处理——目标追踪
    自然语言处理:长文本场景下的关键词抽取实践
    win10编译opencv4.5.5
    【软考 系统架构设计师】系统可靠性分析与设计② 可靠性设计
    【Python黑科技】cv2库实现证件照抠图替换背景(注释比代码多)
    pytorch TORCH.NN 到底是什么?
    数据仓库—开发规范
    Spring 创建 Bean 全过程
    【C++】class的设计与使用(五)静态类成员
  • 原文地址:https://blog.csdn.net/m0_67394360/article/details/126565083