1、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.
命令打印出错误信息,说明当前jdk不能支持2G的内存。
2、jre还区分client和server两个版本
client版本加载速度较快,但是支持内存比server要少,比较适合桌面应用;
server版本加载速度较慢,但是运行比较快而且稳定,一些jre还针对server版进行优化,所以我们运行服务端程序最好使用server版。
C:\Documents and Settings\fengbaoxp>java -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, sharing)
说明当前jre为client版
C:\Documents and Settings\fengbaoxp>java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
说明当前jre为server版
jdk一般默认为client版,要想修改为server版,需要修改 [jre安装目录]/lib/i386/jvm.cfg文件
将:
-client KNOWN
-server KNOWN
调整顺序改为:
-server KNOWN
-client KNOWN
相关文章
- 使用XStream是实现XML与Java对象的转换(2)--别名
- java pdf转word 支持图片转换到word(最大程度的解决原PDF)
- Java 内存泄漏的 10 种典型场景及解决方案
- Java Map 中获取最大值 Value 和对应的 Key
- java8的lambda求map最大值的五种方法
- “对外部(局部)变量的访问”是C语言函数指针的最大弱点
- 表x有 一列 ,程序每次生成id的时候都先从这里获取最大值再加1,初始值是A0001,然后到A9999的时候则是到B0001 共5位
- rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。
- 高级java每日一道面试题-2025年4月10日-微服务篇[Nacos篇]-Nacos的服务健康检查机制是如何工作的?-我回答:
- java中类与方法叙述正确的是