`
bluethinking
  • 浏览: 3692 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

JVM server和client模式

    博客分类:
  • JVM
JVM 
阅读更多
命令行下输入:java -version

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)


说明JVM是server模式,使用server模式的运行时编译器;也就是说还存在client模式与之对应,使用client模式的运行时编译器。client模式适合类似gui应用程序,server模式适合于后台型服务之类的程序。

配置在jvm.cfg文件里,64bit Mac下切换无用:
Windows, 路径:C:\Program Files\Java\jre1.5.0\lib\i386
Mac,路径:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib

#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
#
# You may also select a JVM in an arbitrary location with the
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
# and may not be available in a future release.
#
-server KNOWN
-client IGNORE
-hotspot ERROR
-classic WARN
-native ERROR
-green ERROR

我的Mac上默认是server模式,无法修改,参考下面的引用问题2。64位版本里只有server模式。

具体可以参考FAQ About the Java HotSpot VM

摘录比较重要的两点:
JIT Compiler

What's the difference between the -client and -server systems?

These two systems are different binaries. They are essentially two different compilers (JITs)interfacing to the same runtime system. The client system is optimal for applications which need fast startup times or small footprints, the server system is optimal for applications where the overall performance is most important. In general the client system is better suited for interactive applications such as GUIs. Some of the other differences include the compilation policy,heap defaults, and inlining policy.

Where do I get the server and client systems?

Client and server systems are both downloaded with the 32-bit Solaris and Linux downloads. For 32-bit Windows, if you download the JRE, you get only the client, you'll need to download the SDK to get both systems.

For 64-bit, only the server system is included. On Solaris, the 64-bit JRE is an overlay on top of the 32-bit distribution. However, on Linux and Windows, it's a completely separate distribution.
分享到:
评论

相关推荐

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

    JVM的server模式和client模式之间的区别是很明显的,server模式下的应用程序可以大大提高性能,而client模式下的应用程序启动速度较快。因此,在选择JVM运行模式时,需要根据实际情况和应用程序的特点进行选择,以...

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

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

    jvm内存参数调优

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

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

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

    Jvm 优化手册

    1. **-client**:此参数设定JVM使用Client模式,该模式下JVM启动速度快,但牺牲了一定的运行时性能和内存管理效率,适合于客户端应用或轻量级开发环境。其快速启动特性有助于提升开发阶段的效率。 2. **-server**:...

    Server And Client

    【标题】"Server And Client"涉及的IT知识点主要包括Java编程语言、...综上所述,"Server And Client"项目展示了Java在开发网络通信应用中的应用,涵盖了从编程语言基础、网络通信机制到软件部署和执行的多个重要环节。

    Java 6 JVM参数选项大全

    这些参数通常以-XX:开头,允许开发者调整JVM内部的工作机制,以适应特定的应用场景和性能需求。以下是一些关键的JVM选项及其详细解释: 1. -XX:+&lt;option&gt; / -XX:-&lt;option&gt;: 这些选项用于启用或禁用某个特性。例如,...

    让天下没有难做的JVM.pdf

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

    详细讲解了jvm在java中应用

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

    JVM优化与OOM分析PPT

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

    JVM启动参数应用集合

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

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

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

    JVM实用参数

    - **类型**:`client`,HotSpot JVM有两种类型——`server`和`client`,可以通过`-server`和`-client`参数来指定。如果不指定,则JVM会根据系统自动选择类型。通常,32位系统默认为`client`模式,64位系统默认为`...

    JVM 6 详细参数(中文版)

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

    JVM内存模型

    例如,在Server模式下,初始堆或堆的最小值(`-Xms`)一般设置为物理内存的1/64,而最大堆值(`-Xmx`)则设置为物理内存的1/4。这种自适应策略能够更好地优化JVM的性能表现。 #### 六、JVM内存分析参数 为了更好地...

    第04章 大促高并发系统下JVM如何调优指导03.pdf

    总之,大促高并发系统下的JVM调优是一项复杂而细致的工作,涉及到服务器配置、Tomcat优化和JVM参数调整等多个层面。通过精心的调优,可以显著提高系统在高并发环境下的处理能力和稳定性,确保大促期间的服务质量。

    实战Hot Spot JVM GC

    优化GC策略通常包括调整JVM启动参数,如-server模式、堆内存大小、新生代与老年代的比例等。例如,通过-Xms和-Xmx参数可以设置堆的初始大小和最大大小。-Xmn参数可以用来设置新生代大小,而-XX:PermSize和-XX:...

    JVM学习笔记

    - **工作模式**: - `-server`:适用于服务器环境。 - `-client`:适用于客户端环境。 #### 垃圾回收算法 - **标记清除法**:标记不再使用的对象,然后进行清理。这种方法可能会导致内存碎片化问题。 - **复制...

    JVM面试专题.zip

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

    java jvm剖析

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

Global site tag (gtag.js) - Google Analytics