jvm client模式和server模式

主要区别:client模式启动快,运行速度慢(启动快可能是由于数据共享),HotSpot
VM的client模式实现了数据共享。Server 模式
启动慢,执行速度快。默认情况下,启动时JVM会通过检测主机是否为服务器来判定使用client模式还是server模式。client模式适用于GUI的开发,Server模式适用于Java
Server

下面是51CTO的一篇文章

这里向大家描述一下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默认工作在什么模式。

jvm client模式和server模式,码迷,mamicode.com

时间: 2024-10-20 03:51:33

jvm client模式和server模式的相关文章

Java虚拟机6:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别

http://www.cnblogs.com/xrq730/p/4839245.html 前言 之前的文章尤其是讲解GC的时候提到了很多的概念,比如内存溢出和内存泄露.并行与并发.Client模式和Server模式.Minor GC和Full GC,本文详细讲解下这些概念的区别. 内存溢出和内存泄露的区别 1.内存溢出 内存溢出指的是程序在申请内存的时候,没有足够大的空间可以分配了. 2.内存泄露 内存泄露指的是程序在申请内存之后,没有办法释放掉已经申请到内存,它始终占用着内存,即被分配的对象可

关于JVM的Client模式和Server模式

曾几何时,我也敲打过无数次这样的命令: 然而之前的我都只关心过版本号,也就是第一行的内容.今天,我们就来看看第3行输出的内容:JVM的工作模式. 通过百度搜索,只能搜到几篇被重复转载的文章.比如这一篇,这里面基本描述了JVM两种模式的区别: -Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升. 但我认为仅仅知道这些区别还不够.然而,我在百度的搜索结果中很少看见有描述的比较深入的关于JVM两种模式区别的文章.不过我倒是找到了这一篇文章. 这篇文章中提到了如下内容: 当虚拟

JVM client模式和Server模式的区别

JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.JVM如果不显式指定是-Server模式还是-client模式,JVM还能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本). JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%.当该参数不指定时,虚拟机启动检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,J2

JVM的Client模式与Server模式

Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件:因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中

小白的JVM优化 1: 虚拟机的工作模式---client模式和server模式

虚拟机可以工作在client和server模式下 如图所示: server模式会尝试收集更多的系统性能信息,使用更复杂的优化算法对程序进行优化. 因此,当系统完全启动并进入运行稳定期后,server模式的执行速度会远快于client模式. --- client模式的默认系统参数可以查询如下: 这个优化应该是最简单的了,没什么好解释的,高手绕道勿喷.

Java Hotspot client模式和server模式的区别

当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,服务起来之后,性能更高- 重点:在部分JDK1.6版本和后续的JDK版本(64位系统)中,-client参数已经不起作用了,Server模式成为唯一 了解更多:https://stackoverflow.com/questions/198577/real-differences-between-java-server

emacs使用本地emacs server模式打开远程文件

使用emacs的用户都知道,一般要打开远程机器上的文件要使用TrampMode模式,调用方式例如以下: C-x C-f /remotehost:filename RET (or /method:[email protected]:filename) 但,这样打开有点麻烦,你必要输入username和机器ip等 emacs提供了一种client/server的模式,当我们在本地打开一个emacs,能够将它作为server执行 然后,在本地机器的其它都方要用emacs的时候,如在terminal中要

Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明(转)

一.  官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式.默认使用专用模式.如下图: Oracle 官方文档对这两种文档的说明如下: About Dedicated andShared Server Processes http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/manproc001.htm OracleDatabase creates server pro

Abstract Server模式,Adapter模式和Bridge模式

简易的台灯 Abstract Server模式 谁拥有接口. 接口属于它的客户,而不是它的派生类. 接口和客户之间的逻辑关系,强于接口和其派生类的逻辑关系. 逻辑关系和实体关系的强度是不一致的.在实体关系上,继承比依赖更强. 最好将接口和它的客户打包,而不是和它的派生类在一起. Adapter模式 当Light不能继承Switchable接口时(第三方代码). Modem Client仍然看到的是期望的连接行为,而Ded User不必去调用根本无用的Dial/Hangup(). 仍然存在杂凑体.