JVM client模式和Server模式

我们把jdk安装完成后,在命名行输入java -version

不仅可以看到jdk版本相关信息,还会看到类似与 Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) 这样的信息。

其中有个Server VM (build 25.31-b07, mixed mode)其实代表了JVM的Server模式了。

当然JVM还有一个Client模式。

JVM Server模式与client模式启动的差别?

最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是:

当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高.

所以通常用于做服务器的时候我们用服务端模式,如果你的电脑只是运行一下java程序,就客户端模式就可以了。当然这些都是我们做程序优化程序才需要这些东西的,普通人并不关注这些专业的东西了。其实服务器模式即使编译更彻底,然后垃圾回收优化更好,这当然吃的内存要多点相对于客户端模式。

 

怎么修改JVM的启动模式呢?

64位系统默认在 JAVA_HOME/jre/lib/amd64/jvm.cfg

32在目录JAVA_HOME/jre/lib/i386/jvm.cfg

我的配置是这样的,所以是已服务器模式启动的,当然,你想换成client模式的话,把两个对调一下就可以了。

#
-server KNOWN
-client IGNORE

posted @ 2018-08-29 13:40  千彧  阅读(278)  评论(0编辑  收藏  举报