`
y806839048
  • 浏览: 1107432 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JVM Server与Client运行模式

    博客分类:
  • jvm
jvm 
阅读更多

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

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

Java -version 可以直接查看出你使用的是client还是 server

Jvm client代码:

 

[java] view plain copy
 
  1. C:\Documents and Settings\Administrator>java -version  
  2. java version "1.6.0_21"  
  3. Java(TM) SE Runtime Environment (build 1.6.0_21-b06)  
  4. Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)  


Jvm server代码:

 

 

[java] view plain copy
 
  1. [root@kaifa02 ~]# java -version  
  2. java version "1.6.0_06"  
  3. Java(TM) SE Runtime Environment (build 1.6.0_06-b02)  
  4. Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)  


两种模式的切换可以通过更改配置(jvm.cfg配置文件)来实现:

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

64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式,  配置内容大致如下

 

[java] view plain copy
 
  1. -server KNOWN  
  2. -client KNOWN  
  3. -hotspot ALIASED_TO -client  
  4. -classic WARN  
  5. -native ERROR  
  6. -green ERROR  


一般只要变更 -server KNOWN 与 -client KNOWN 两个配置位置先后顺序即可,前提是JAVA_HOME/jre/bin 目录下同时存在 server 与client两个文件夹,分别对应着各自的jvm.

 

缺少其中一个,切换模式就会报错.类似下图:

 

分享到:
评论

相关推荐

    Java虚拟机JVM之server模式与client模式的区别

    Java虚拟机JVM之server模式与client模式的区别 Java虚拟机JVM的server模式和client模式是两种不同的运行模式,它们之间的区别主要体现在启动速度、性能、编译器、内存占用等方面。 首先,server模式的启动速度相对...

    Server And Client

    【标题】"Server And Client"涉及的IT知识点主要包括Java编程语言、网络通信、客户端-服务器架构以及应用程序可执行化。 1. **Java编程语言**:Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行...

    深入JVM内核 - 原理、诊断与优化

    介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法 标记压缩 可触及性 本章是理论性较强的一章,主要介绍GC的基本算法和思想,本...

    JVM优化与OOM分析PPT

    - **Step 2:初始配置**:根据系统的具体需求选择-server或-client模式;调整-Xmx和-Xms的值;设置年轻代和年老代的比例等。 - **Step 3:持续监控**:在调优过程中持续监控JVM的状态,通过日志分析工具观察性能指标...

    JVM系列之性能调优参考手册(实践篇).pdf

    1. 标准参数:以“-”开头,如“-server”、“-client”,这些参数在所有JVM实现中都是一致的,用于设置JVM的运行模式等基础功能。标准参数还包括用于查看版本、设置classpath路径、打印相关信息等。 2. 非标准参数...

    jvm内存参数调优

    -client和-server模式的选择直接影响了程序的启动速度和运行时性能;-agentlib和-agentpath允许我们利用外部库来监控和调试JVM;-classpath和-cp则帮助我们指定类路径;-Dproperty=value用于设置全局变量;最后,-...

    Jvm 优化手册

    2. **-server**:相反,Server模式下的JVM虽然启动时间较长,但能够提供更高的运行时性能和更高效的内存管理。这种模式特别适用于服务器端应用,尤其是在资源丰富的64位系统环境中,它默认启用,忽略了-client参数的...

    详细讲解了jvm在java中应用

    JVM有两种运行模式,Server模式和Client模式,Server模式适用于长期运行的高性能应用,而Client模式启动更快,适合轻量级应用。 内存结构在JVM中起着至关重要的作用,它包括程序计数器、虚拟机栈、本地方法栈、堆和...

    让天下没有难做的JVM.pdf

    JVM有两种运行模式:Server模式和Client模式。Server模式适合长时间运行的服务器端应用程序,具有更多的优化,启动虽然慢,但运行速度快;Client模式适合桌面应用程序,启动速度快,但运行性能相对较低。在了解JVM...

    JVM实用参数

    - **运行模式**:`mixed mode`,表示JVM默认以混合模式运行,这意味着它可以动态地将字节码编译为本地代码。该模式可通过`-Xint`、`-Xcomp`和`-Xmixed`参数指定。建议使用JVM的默认设置,让即时编译器(JIT Compiler)...

    JVM启动参数应用集合

    `-client` 和 `-server` 参数用于选择JVM的执行模式。`-client` 模式适用于桌面应用或开发调试,因为它启动速度快,但运行时性能较低。相反,`-server` 模式适合服务器端应用,提供更好的运行时性能和内存管理,但...

    java jvm剖析

    了解HotSpot JVM中的Client和Server模式,以及如何触发和优化JIT编译,能显著提升性能。 6. **异常处理与线程模型**:JVM提供了丰富的异常处理机制,确保程序的健壮性。同时,JVM支持多线程,理解线程的创建、同步...

    JVM 6 详细参数(中文版)

    - **默认值**:在`-server`模式下启用,其他情况下默认不启用。 - **描述**:采用并行垃圾收集策略,其中新生代使用并行清除算法,而老年代则使用单线程的Mark-Sweep-Compact算法。 - **适用场景**:适合CPU密集型且...

    JVM面试专题.zip

    理解HotSpot VM中的Client Compiler和Server Compiler的区别有助于理解JVM的运行模式。 10. **异常处理与类加载器自定义**:理解和熟悉Java异常处理机制,以及如何自定义类加载器以实现特定的功能,如加载动态生成...

    JVM中编译Class、内存回收、多线程原理和使用

    Client模式适用于启动速度,而Server模式侧重于长期运行的性能优化。JVM会监控和分析运行过程中的热点代码,适时将其编译为本地机器码,以提高执行效率。 3. 内存管理(Memory Management): 在Java中,程序员...

    Java6 JVM命令行参数

    - **默认状态**:在-server模式下启用,在其他模式下不启用。 - **功能描述**:指定使用并行垃圾收集器,该收集器针对新生代使用并行收集,对于老年代则采用串行的标记-整理算法。 - **适用场景**:适合于CPU密集型...

    JVM面试总结

    包括Client Compiler和Server Compiler两种模式。 10. **字符串池**:Java 6之前在永久代,之后在堆内存。字符串字面量和通过`String.intern()`方法进入字符串池,减少重复对象创建。 11. **异常处理**:理解...

    垃圾回收系列(3):CLR与JVM垃圾回收器的比较宣贯.pdf

    在Client模式下,默认使用串行GC,而在Server模式下,新生代和旧生代分别使用并行GC和平行标记-清除GC。这些策略旨在平衡垃圾回收效率与应用程序的暂停时间。 回收算法上,CLR有大对象堆(LOH)和小对象堆(SOH)。...

    JVM调优相关内容教程吐血整理干货.md

    - **-server / -client**:根据应用的特点选择合适的JVM运行模式。Server模式适用于服务器端应用,会对服务端运行效率做很大优化;Client模式适用于客户端桌面程序,会对客户端运行做优化。 #### 三、Java常用调优...

Global site tag (gtag.js) - Google Analytics