Java HOTSPOT VM参数大全

SUN的JDK版本从1.3.1开始使用HotSpot虚拟机技术。

  HotSpot是较新的Java虚拟机技术,用来代替JIT(Just in Time)技术,可以大大提高Java运行的性能。

  Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而该技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能。用于服务器版和标准版的HotSpot有所不同。

  其他的Java虚拟机也有类似的技术。

  HotSpot JVM 参数可以分为标准参数(standard options)和非标准参数(non-standard options)。

  标准参数相对稳定,在JDK未来的版本里不会有太大的改动。

  非标准参数则有因升级JDK而改变的可能。

  标准参数

  -client

  使用Java HotSpot 客户端版VM。

  -server

  使用Java HotSpot 服务器版VM。如果是64位的JDK,默认只有server版,所以以上两个参数对64位版本JDK无效。

  -agentlib: libname [=options]

  加载本地代理函数库, e.g.

  -agentlib:jdwp=help

  -agentpath :pathname [=options]

  使用给定的路径加载本地代理库。

  -classpath classpath

  -cp classpath

  不用说了。

  -Dproperty =value

  设置一个系统属性。

  -d32

  -d64

  要求程序在32位或64位下跑,未来这个参数可能有变。

  -enableassertions [:"..." | : ]

  -ea [:"..." | : ]

  开启断言。

  -disableassertions [:"..." | : ]

  -da [:"..." | : ]

  关闭断言。

  -enablesystemassertions

  - esa

  启动所有系统类的断言。

  -disablesystemassertions

  -dsa

  关闭所有系统类的断言。

  -jar

  这个也没什么说的。

  -javaagent :jarpath [=options]

  加载Java 程序语言代理

  -verbose:class

  输出每个加载的类详细信息。

  -verbose:gc

  输出GC的详细信息。

  -verbose:jni

  输出本地方法接口的调用信息。

  -version

  -help

  -?

  不用说了。

  -X

  显示可用的非标准参数

 非标准参数

  -Xint

  以解释模式运行。JVM不会使用HotSpot的新特性,不会将部分常用代码编译为本地代码,所有代码都以字节码的方式解释运行。你可以理解为使用JDK1.3.1以前的JIT方式运行程序。

  -Xbatch

  不使用后台编译。

  -Xbootclasspath:bootclasspath

  使用bootstrap classloader 加载指定路径的class或jar,这是种完全覆盖默认系统类加载的方案,慎用。

  -Xbootclasspath/a:bootclasspath

  将指定的classpath追加到默认的bootclasspath的后面加载

  -Xbootclasspath/p:bootclasspath

  将指定的classpath追加到默认的bootclasspath的前面加载

  -Xcheck:jni

  在调用JNI函数时做额外的检查。这个参数会降低JVM的执行性能。

  -Xfuture

  执行严格的class文件格式检查,不加这个参数,默认使用JDK1.1.* 版本的class格式检查方法。

  -Xnoclassgc

  禁用class垃圾收集。

  -Xincgc

  开启增量垃圾收集机制。默认为关闭。增量垃圾收集能减少因垃圾收集而引起的程序中断,它会在程序运行期间不定期地以并发的方式运行,在运行期间不会引起中断但是会减少分配给程序的cpu资源。

  -Xloggc:file

  GC详情日志。效果如-verbose:gc ,不过这个可以输出到一个文件。除了-verbose:gc包含的信息,还有显示发生的时间。 文件可以是远程的,但是考虑到网络延迟会引起JVM中断,一般建议使用本地文件,

  -Xms

  分配的堆空间初始值:

  -Xms6291456

  -Xms6144k

  -Xms6m

  -Xmx

  分配的堆空间最大值:

  -Xmx83886080

  -Xmx81920k

  -Xmx80m

  -Xprof

  在运行程序时给出分析数据。适用于开发环境,不适用于生产环境。

  -Xrs

  减少JVM的操作系统信号的使用量。

  -Xss

  线程栈内存

  非标准-XX参数

  有三种-XX参数的形式:

  Boolean 型的参数 开启如 -XX:+ 关闭如 -XX:-.

  Numeric 型参数 -XX:=. 数字可以包括单位 'm' 或 'M' 代表MB, 'k' or 'K' 代表KB, 'g' or 'G' 代表 GB ,没有单位意味着bytes。

  String 参数 -XX:=

  以下是-XX参数列表,本来想都翻译过来,但是发现一些技术术语如果硬是翻译可能会导致词不达意,因此大部分描述都保持原文。

 

 

 

 

 






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值