关于jvm client 与 jvm server 有什么区别, 如何启动jvm client
2015-04-24 09:49
459 查看
看看你下面的这两个文件,是不是尺寸差别很大?
%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就行了。
启动速度对比一下,在我的C4.17 512M 的机器上client 版本一般在8s-16s内启动完成 server版本 在21s-26s左右启动完成。
更改默认java.exe调用的jvm.dll,这个由jvm.cfg决定。
编辑%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 version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Server VM (build 1.4.2_07-b05, mixed mode)
看到没有 Server VM 字样?是不是很酷啊!,小心机器不够快,启动等得你疯掉 :)
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就行了。
启动速度对比一下,在我的C4.17 512M 的机器上client 版本一般在8s-16s内启动完成 server版本 在21s-26s左右启动完成。
更改默认java.exe调用的jvm.dll,这个由jvm.cfg决定。
编辑%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 version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Server VM (build 1.4.2_07-b05, mixed mode)
看到没有 Server VM 字样?是不是很酷啊!,小心机器不够快,启动等得你疯掉 :)
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
相关文章推荐
- JBoss 7/WildFly Domain 模式如何配置 Server 启动的 JVM 参数
- 【转帖】启动JVM client模式 与 server模式的区别
- MySQL 的 utf8_general_ci 和 utf8_unicode_ci 有什么区别,应如何选择?
- 什么是反向代理,如何区别反向与正向代理
- 操作系统的内核是干什么的?和应用程序的区别在哪里?如何调用内核干活?操作系统为什么要分用户态和内核态?
- 关于$_SERVER中的PHP_SELF、REQUEST_URI以及SCRIPT_NAME的区别
- 【转】关于如何在类库中使用Response,Request,Server,Session!
- 关于启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
- 如何解决JDeveloper启动时不能创建jvm实例的问题
- 1.1 java 虚拟机如何启动的?启动之后都做了什么?
- android系统和ios系统的推送是如何实现的,有什么区别
- Windows SC(server control)命令详解 - 如何远程停止/启动/控制Windows服务
- 如何使用server版jvm ?[转]
- 关于MySQL一直无法启动server的情况
- 关于单例模式中,饿汉式和懒汉式有什么区别?
- JavaWeb学习之什么是Servlet、如何使用servlet、为什么这样使用、servlet的虚拟路径、关于缺省Servlet(2)
- 在JVM中,新生代和旧生代有何区别?GC的回收方式有几种?server和client有和区别?
- Tomcat错误:Address already in use: JVM_Bind:8080(或者如何在一台机器上启动多个tomcat)
- 关于ActionContext.getContext()取得的值是什么,和struts2如何获取request,session,appliaction作用域
- 什么是反向代理,如何区别反向与正向代理