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

java client VM 和java server VM

阅读更多

转载自:http://blog.csdn.net/tang_123_/archive/2010/11/18/6018219.aspx

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

分享到:
评论
1 楼 HappyBoyLi 2016-03-01  
谢谢分享,在jvm中怎么看-Xms是1M,-Xmx是64M参数大小啊???

相关推荐

    Java vm.pptx

    在Java虚拟机中,根据性能需求,通常分为Client端和Server端两种模式。Client端JVM主要用于桌面应用,优化了启动速度和响应时间,而Server端JVM则面向服务端应用,更注重长时间运行的性能和吞吐量。 在处理用户请求...

    JAVA性能优化.docJAVA性能优化.doc

    经典虚拟机(Classic VM)自J2SDK 1.4.0后逐渐被淘汰,而HotSpot VM则分为Client VM和Server VM。Client VM适用于轻量级应用,而Server VM专为高性能的服务器环境设计,提供更优秀的性能。 - **参数调整**:...

    java写的java虚拟机

    7. **编译优化**:JVM可以进行即时编译(JIT),将热点代码编译为机器码以提高性能,比如HotSpot JVM的Client Compiler和Server Compiler。 8. **线程模型**:JVM如何处理并发,包括线程创建、同步、死锁等问题。 ...

    Java 高性能系统常见设计与优化

    Java 高性能系统的典型体系结构包括 Application Client、Load Balancer、Application Server、Replication or Cluster、Database 等。其中,Application Server 是系统的核心部分,负责处理业务逻辑和数据存储。 ...

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

    Java虚拟机JVM的server模式和client模式是两种不同的运行模式,它们之间的区别主要体现在启动速度、性能、编译器、内存占用等方面。 首先,server模式的启动速度相对较慢,但是一旦运行起来后,性能将会有很大的...

    java7帮助文档

    Machine Java HotSpot Client and Server VM Description of Java Conceptual Diagram What's New in Documentation Documentation is regularly updated to provide developers with in-depth information ...

    java运行环境jre小解.doc

    - JVM的实现通常包括Client VM和Server VM两种类型。 - Client VM适用于桌面应用等轻量级场景,而Server VM则针对服务器端应用优化。 3. **JVM的动态链接库加载**: - JVM启动后,会通过Win32 API中的`...

    交口称赞JAVA6学习文集

    1. **改进的编译器**:Java 6引入了“Client Compiler”(Client VM)和“Server Compiler”(Server VM)的概念,优化了编译策略,使得代码在运行时能够更快地达到最优化状态。 2. **增强的Swing UI**:Java 6对...

    Java深度历险.pdf

    - **默认情况下**:当JDK安装完毕且未设置任何环境变量时,通过命令行调用`java -version`命令,系统默认使用`Client VM`(客户端虚拟机)。这是因为`Client VM`通常体积较小,适用于桌面应用。 - **服务器模式**...

    java客户端以及jre瘦身

    7. **利用启动加速技术**: 如HotSpot VM的Client Compiler(针对桌面应用)和Server Compiler(针对服务器应用),可以根据硬件配置选择合适的编译器,提高启动速度。 8. **利用App Bundler工具**: 对于Mac OS X...

    Java深度历险[借鉴].pdf

    默认情况下,当在命令行中运行`java -version`时,系统会显示客户端版本的Java虚拟机(Client VM)。如果想要查看服务器版本(Server VM),需要在环境变量`PATH`中添加JDK的`bin`目录,并运行`java -server -...

    linux下部署java环境

    Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing) ``` - **测试编译与运行Java程序** 创建一个简单的Java程序文件`Test.java`,内容如下: ```java public class Hello { public static ...

    在c程序中启动Java虚拟机.doc

    1. **装载jvm动态库**:在Windows平台下,动态库文件名为`jvm.dll`,通常位于`%JAVA_HOME%/jre/bin/client/`和`%JAVA_HOME%/jre/bin/server/`目录下。 2. **查找JNI_CreateJavaVM接口**:这是启动Java虚拟机的核心...

    java深度历险

    当我们在没有配置系统路径的情况下启动命令行窗口并运行`java -version`,系统会找到默认的JRE(通常是客户端JVM,即Client VM),因为它已经包含在系统路径中。然而,如果我们想要运行服务器端JVM(Server VM),则...

    map of java平台

    - **Java HotSpot Client VM**:适用于客户端应用,具有较小的内存占用和较快的启动速度。 - **Java HotSpot Server VM**:针对服务器端应用进行了优化,能够处理高负载的应用场景。 ### 支持的操作系统平台 - **...

    java开发环境的开发配置

    Java HotSpot(TM) Client VM (build 1.6.0_02-n06, mixed mode, sharing) ``` 这表明系统已经正确识别并配置了JDK版本。 ### 数据库连接配置 对于涉及数据库操作的Java应用,还需配置数据库连接。如示例中提到的...

    Java面试整理.txt

    - **线程私有数据区域**:这部分区域与Java线程的生命周期相同,依赖于用户线程的启动和结束而创建或销毁(在Hotspot VM内部)。 - **线程共享区域**:随虚拟机的启动和关闭而创建或销毁,通常指方法区或永久代。 ...

    用exe4j把java的jar文件打包成exe文件的详细过程

    - 在"Preferred VM"环节,根据应用需求选择客户端(client)或服务器(server)虚拟机。 9. **预载窗体设置** - "Splash screen"步骤允许你设置启动时的预加载界面,通常为.gif格式。还可以调整状态行和版本行的...

    sigar-amd64-winnt-1.6.4.zip

    # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.271-b09 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [sigar-amd64-winnt.dll+0x14ed4] # # Failed to write core dump. Minidumps are...

Global site tag (gtag.js) - Google Analytics