本文介绍如何测试java支持最大内存的方法,并介绍几个不同版本的JDK特点,希望对大家有所帮助。

1、JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可以通过以下方法来进行测试。

c:>java -XmxXXXXm(g) -version

其中,XXX为最大内存数值, m(g)是内存的计量单位,如果命令能够正确显示出jdk的版本等信息,说明当前jdk支持测试的最大内存

数量,否则说明测试的内存超出了jdk支持的最大值。

例如:

C:Documents and Settingsfengbaoxp>java -Xmx1G -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode)

命令正确显示了jdk信息,说明当前jdk能够支持1G的内存。

C:Documents and Settingsfengbaoxp>java -Xmx2G -versionLCYitug
Error occurred during initialization of VMLCYitug
Could not reserve enough space for object heapLCYitug
Could not create the Java virtual machine.

命令打印出错误信息,说明当前jdk不能支持2G的内存。

2、jre还区分client和server两个版本

client版本加载速度较快,但是支持内存比server要少,比较适合桌面应用;

server版本加载速度较慢,但是运行比较快而且稳定,一些jre还针对server版进行优化,所以我们运行服务端程序最好使用server

版。

C:Documents and Settingsfengbaoxp>java -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)

说明当前jre为client版

C:Documents and Settingsfengbaoxp>java -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

说明当前jre为server版

jdk一般默认为client版,要想修改为server版,需要修改 [jre安装目录]/lib/i386/jvm.cfg文件

将:

-client KNOWNLCYitug
-server KNOWN

调整顺序改为:

-server KNOWNLCYitug
-client KNOWN