一、前言
JVM有Client和Server两种运行模式。不同的模式对应不同的应用场景,而JVM也会有相应的优化。本文将记录JVM模式的信息,以便日后查阅。
二、介绍
在$JAVA_HOME/jre/bin下有client目录,分别代表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模式运行com.cnblogs.fsjohnhuang.master.Daemon
$ java -server com.cnblogs.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