首页 > 后端开发 > 正文

如何查看java程序运行模式 JVM client模式和Server模式的区别

2024-05-18 07:53:47 | 我爱编程网

小编今天整理了一些如何查看java程序运行模式 JVM client模式和Server模式的区别相关内容,希望能够帮到大家。

本文目录一览:

如何查看java程序运行模式 JVM client模式和Server模式的区别

怎样在一个java程序中获得另一个程序的运行状态

先把2个文件放在同一个包下面,这样就可以访问另一个java程序了。

一般的方法是在a程序里实例化b类,然后通过b.方法名

去调用b类里的方法

runtime.getruntime().exec("外部程序");

相当于你在cmd控制台中输入"外部程序"并回车执行

如何查看java程序运行模式 JVM client模式和Server模式的区别

如果检查本机有没有JAVA运行环境

在电脑cmd窗口中直接输入“Java”命令,回车后出现一堆Java信息,说明电脑有Java运行环境。具体操作请参照以下步骤,演示电脑系统为windows7。

1、首先在电脑的开始菜单中找到“运行”选项,进行点击。

2、然后在出现的运行窗口中,输入“cmd”,点击确定按钮。

3、然后会出现cmd的运行窗口,如图所示。

4、然后输入dos命令“Java”,再按回车键,如图所示。

5、如果出现下图中的信息,说明电脑有JAVA运行环境。反之Java命令将不会被识别。

如何查看java程序运行模式 JVM client模式和Server模式的区别

JVM client模式和Server模式的区别

这里向大家描述一下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 Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是:

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

java -version 可以直接查看出你使用的是client还是 server

Jvm client代码:

[java]

view plaincopy

C:\Documents and Settings\Administrator>java -version

java version "1.6.0_21"

Java(TM) SE Runtime Environment (build 1.6.0_21-b06)

Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)

Jvm server代码:

[java]

view plaincopy

[root@kaifa02 ~]# java -version

java version "1.6.0_06"

Java(TM) SE Runtime Environment (build 1.6.0_06-b02)

Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)

两种模式的切换可以通过更改配置(jvm.cfg配置文件)来实现:

32位的虚拟机在目录JAVA_HOME/jre/lib/i386/jvm.cfg,

64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式, 配置内容大致如下

[java]

view plaincopy

-server KNOWN

-client KNOWN

-hotspot ALIASED_TO -client

-classic WARN

-native ERROR

-green ERROR

一般只要变更 -server KNOWN 与 -client KNOWN 两个配置位置先后顺序即可,前提是JAVA_HOME/jre/bin 目录下同时存在 server 与client两个文件夹,分别对应着各自的jvm.

我爱编程网

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何查看java程序运行模式 JVM client模式和Server模式的区别”相关推荐