全面输出JVM配置参数

有关java并发可以看这里:
yuedu.baidu.com/ebook/d09e3…
Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值:

-XX:+PrintFlagsFinal 以及 -XX:+PrintFlagsInitial

我的电脑上的Java版本是1.7.0_79,本文所讲述的JVM参数全部都是这个版本有的(不同版本可能有所不同):

bogon:~ xujianxing$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
bogon:~ xujianxing$复制代码

让我们现在就了解一下新参数的输出。以 -client 作为参数的 -XX:+PrintFlagsFinal 的结果:

其输出有可能是如下的情况:

$ java -client -XX:+PrintFlagsFinal 
[Global flags]
uintx AdaptivePermSizeWeight               = 20               {product}
uintx AdaptiveSizeDecrementScaleFactor     = 4                {product}
uintx AdaptiveSizeMajorGCDecayTimeScale    = 10               {product}
uintx AdaptiveSizePausePolicy              = 0                {product}[...]
uintx YoungGenerationSizeSupplementDecay   = 8                {product}
uintx YoungPLABSize                        = 4096             {product}
 bool ZeroTLAB                             = false            {product}
 intx hashCode复制代码

是一个按字母排序的669个参数表格。

而如果是按照-server的参数输出,依然是669个参数。
client模式追求的是减小启动速度和内存占用,server模式追求最高的执行速度。

每一个参数各有五行,下面来每一行的参数有什么意义:
表格的每一行包括五列,来表示一个XX参数。第一列表示参数的数据类型,第二列是名称,第四列为值,第五列是参数的类别。第三列”=”表示第四列是参数的默认值,:=表示这个值被人为地修改过或者JVM通过人体工程学调优过。
uintX X位无符号整形,如uint32表示32位无符号整形 intX X位有符号整形,如int32表示32位有符号整形。第五个表示参数类别,product表示生产模式。diagnostic表示debug模式,可以用来调试JVM。
manageable表示可以通过JMX设置的参数,具体情况可以看这里:Developing Manageable Applications With JMX

pd表示平台依赖(Platform Dependent),某些参数可能只有某个操作系统才有。

参考链接:

www.oracle.com/technetwork…
javadiscover.blogspot.hk/2013/10/hot…
pingtimeout.github.io/jvm-options…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值