java支持的最大内存 博客分类: java基础 javajvmjava内存java支持的最大内存
一.jdk各个版本在不同操作系统中支持的最大内存是不一样的,但是可以通过以下方法来进行测试
c:>java -Xmxxxxxm(g) -version
其中xxxx为最大内存数值, m(g)是内存的计量单位,如果命令能够正确显示出jdk的版本等信息,说明当前jdk支持测试的最大内存数量,否则说明测试的内存超出了jdk支持的最大值,
例如:
c:\\documents and settings\\fengbaoxp>java -xmx1g -version
java version \"1.6.0_03\"
java(tm) se runtime environment (build 1.6.0_03-b05)
java hotspot(tm) client vm (build 1.6.0_03-b05, mixed mode)
命令正确显示了jdk信息,说明当前jdk能够支持1g的内存。
c:\\documents and settings\\fengbaoxp>java -xmx2g -version
error occurred during initialization of vm
could not reserve enough space for object heap
could not create the java virtual machine.
-bash-3.00$ ./java -Xmx2048m -version
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)
-bash-3.00$ ./java -Xmx1024m -version
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)
-bash-3.00$ ./java -Xmx4096m -version
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
命令打印出错误信息,说明当前jdk不能支持2g的内存。
本机测试:
二.jre还区分client和server两个版本
client版本加载速度较快,但是支持内存比server要少,比较适合桌面应用;
server版本加载速度较慢,但是运行比较快而且稳定,一些jre还针对server版进行优化,所以我们运行服务端程序最好使用server版。
说明当前jre为client版
说明当前jre为server版
jdk一般默认为client版,要想修改为server版,需要修改 [jre安装目录]/lib/i386/jvm.cfg文件
将:
-client known
-server known
调整顺序改为:
-server known
-client known
如下所示:
推荐阅读
-
java中的各种数据类型在内存中存储的方式 博客分类: java java内存虚拟机
-
java支持的最大内存 博客分类: java基础 javajvmjava内存java支持的最大内存
-
有关Java内存溢出及内存消耗的小知识 博客分类: java java内存java内存溢出虚拟机jvmjava
-
深度解析Java内存的原型 博客分类: Java java内存java内存原型解析
-
内存溢出和内存泄露的区别 博客分类: JAVA基础
-
更改main方法的内存 博客分类: Java
-
从源代码到Runtime发生的重排序 博客分类: java操作系统jvm 重排序编译器处理器重排序缓存一致性内存屏障
-
Java虚拟机支持的最大内存限制 博客分类: 优化 虚拟机JavaJDKF#Weblogic
-
最大的麦穗 博客分类: java基础 生活
-
Java7中的switch支持String的实现细节 博客分类: Java 基础 javajava7