JVM client模式client和server的区别模式的区别

一、前言                              
& JVM有Client和Server两种运行模式。不同的模式对应不同的应用场景,而JVM也会有相应的优化。本文将记录JVM模式的信息,以便日后查阅。
二、介绍                              
& 在$JAVA_HOME/jre/bin下有client和server两个目录,分别代表JVM的两种运行模式。& client运行模式,针对桌面应用,加载速度比server模式快10%,而运行速度为server模式的10分之一。client下默认的堆容量&-Xms1M -Xmx64M&& server运行模式,针对服务器应用。server下默认的堆容量&-Xms128M -Xmx1024M&& 通过&java -version&查看JVM的默认运行模式。
&&通过&java -client -version&查看JVM的client运行模式环境。
& 通过&java -server -version&查看JVM的server运行模式环境。
三、模式切换                            
& 1. 临时切换
  在启动JVM时显式指定运行模式,如:以server模式运行blogs.fsjohnhuang.master.Daemon
$ java -blogs.fsjohnhuang.master.Daemon
& 2. 永久切换
  修改JAVA_HOME/jre/lib/i386/jvm.cfg文件。  jvm.cfg文件原内容:
-client KNOWN
-server KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERROR
& &&修改为即可以server模式作为默认的JVM运行模式
-server KNOWN
-client KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERRO
& 尊重原创,转载请注明来自:& ^_^肥仔John
阅读(...) 评论()当前位置: >
JVM client模式和Server模式的区别
时间: 19:00
作者:lnlvinso
  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%\jre\lib\i386\jvm.cfg   里面第一行写的是 -client 默认就是client版本 ,把第二行的-server KNOWN 放到第一行, 如下面所示  -server KNOWN  -client KNOWN  -hotspot ALIASED_TO -client  -classic WARN  -native ERROR  -green ERROR   改完保存,然后看看默认版本:  C:\java -version
  看看你下面的这两个文件,是不是尺寸差别很大?  %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就行了。
下一篇:没有了  瘦客户端,很早很早以前,当时C/S模式也就是client/server 。客户端软件大行其道的年代,一个pc用户,是采用一个傻终端连接到服务器上。然后进行相应的操作,最典型的就是我们上bbs经常用的c-term 。这就是那个时代的产物,同样还有我国现行的机票定座用的e-term 。后来呢,浏览器变得非常流行,人们发现,浏览器也能传递一些数据。虽然这些数据并不像那些终端那样准确,但应付大多数日常需求足够了。于是人们就提出一个瘦客户端概念,也就是说,将来表示层所有的其他软件疾挥?我们唯一需要的就是一个网页浏览器,然后通过浏览器输入ip地址连接到服务器。然后进行相关的操作,由于网页浏览器一般每个操作系统都有自带一个。这样做就达到了给我们客户端瘦身的目的(不需要安装额外软件)
这样模式被称作B/S模式,也就是browser/server模式。但需要指出的是,虽然瘦客户端是趋势,但并不代表胖客户端没有市场。尤其是一些复杂的业务操作,还是浏览器这种简单软件无法胜任的
  趋势二:
  傻数据库,ok,首先,我承认,这个名词是我发明的,但我实在无法找到一个更好的表达
  什么是傻数据库,如果谁对数据库有所了解的话,就知道,以前的数据库有自己的一套管理体系,甚至有自己的客户端,比如oracle,mysql,sqlserver都有。在某个管理工具上写什么sql语句查询数据库是我们以前常做的事。那么将来我们提倡的是:将所有的业务逻辑封装到业务逻辑层去。
  管理的事情由软件来做,由业务逻辑层的软件来做。
  所谓傻数据库就是说,将来的数据库什么事都不用做,只用把数据给我保存好就行了,那些复杂的业务逻辑什么外键什么关联都没数据库什么事了,都交给业务逻辑层软件来做。
  这样做的好处就是:我们就不需要这些该死难懂又复杂的数据库系列管理工具了,而且这些工具每个数据库都有自己的工具,完全不一样,乱七八糟,没有人喜欢面对他们。除了数据库维护人员,也就是DBA,我们是软件工程师,维护的事让他们去做。而且严禁数据库维护人员改动数据库的数据,他们只做备份,必要时候恢复一下就是了。
  了解了这两个趋势之后,是不是有种砍头去尾保中间的感觉?
  没错,未来的趋势就是中间件时代,中间件工程师将是未来计算机应用的主流
  那再次统一一下概念,什么是中间件?
  记得我上学的时候,看ibm的教材,看了半天中间件定义,就看懂记住一句话。
  中间件是做别人不愿意去做的事情,现在想想,狗屁定义,呵呵
  什么是中间件,中间件是业务逻辑层的应用软件,是处理业务数据与客户端之间业务逻辑的一种应用软件
  一种提供网络服务的服务器端应用软件。举个非常简单的例子,网上银行,某个人想用IE进入工行的账户,然后转帐。在这个例子中,客户端表示层显然是IE,数据持久层显然是银行的核心数据库。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:56391次
积分:5324
积分:5324
排名:第3406名
原创:477篇
(16)(25)(51)(18)(36)(75)(2)(7)(4)(24)(19)(12)(3)(1)(52)(78)(43)(21)(9)
  我只想平平谈谈的生活,因为我觉得简简单单就是一种幸福,,让我们充满向往,同时让我们有了理想,,让人我的思想多了一分怀疑,但是我觉得,,会特别的吸引我,让我不断地去了解一些新的东西,,让生活充满了乐趣,因为我们追求的是品质,追求的是高尚的生活!
  人自有生命的那刻起,便沉浸在恩惠的海洋里。一日为师,终身为父;滴水之恩,涌泉相报。心存感恩,知足惜福,人与人、人与自然、人与社会才会变得如此的和谐和亲切,我们自身也会因此变得愉快而又健康。&&国之画&&&&&&
&& &&&&&&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!可以工作在client和server模式下
如图所示:
server模式会尝试收集更多的系统性能信息,使用更复杂的优化算法对进行优化。
因此,当系统完全启动并进入运行稳定期后,server模式的执行速度会远快于client模式。
client模式的默认系统参数可以查询如下:
这个优化应该是最简单的了,没什么好解释的,高手绕道勿喷。

我要回帖

更多关于 client与server区别 的文章

 

随机推荐