`
topzhujia
  • 浏览: 54287 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Java HOTSPOT VM参数大全

    博客分类:
  • JAVA
阅读更多

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

 

 

 

 

 






分享到:
评论

相关推荐

    Java HotSpot VM Options

    jvm参数介绍,oracle HotSpot官方参数文档。

    java 6 jvm 参数选项大全

    本文是基于最新的SUN官方文档JavaSE6HotspotVMOptions 编写的译文。 主要介绍JVM 中的非稳态选项及其使用说明。 为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在 研究...

    HotSpot Runtime概述

    本节介绍与HotSpot Runtime系统的主要子系统相关的关键概念。涵盖以下主题:  命令行参数处理  VM生命周期  VM类加载  字节码验证器和格式检查器  类数据共享  解释器  Java异常处理  同步  线程...

    JVM-Java虚拟机

    资源概要:JVM基础知识;类加载子系统;运行时数据区;对象的创建流程与内存分配;...从广义上讲Java,Kotlin、Clojure、JRuby、Groovy等运行于Java虚拟机上的编程语言及其相关的程序都属于Java技术体系中的一员。

    Java虚拟机

    1.4.2 Sun HotSpot VM 1.4.3 Sun Mobile-Embedded VM Meta-Circular VM 1.4.4 BEA JRockit IBM J9 VM 1.4.5 Azul VM BEA Liquid VM 1.4.6 Apache Harmony Google Android Dalvik VM 1.4.7 Microsoft JVM及其他...

    java查看sun包源码-monitor:java生产环境内存调优(包括jvm参数类型,JVM的参数类型jinfo&jps(参数和进程查看)j

    java查看sun包源码 主要内容包括 :blue_heart: :blue_heart: :blue_heart: :blue_heart: :blue_heart: ...HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode) java -Xint -version Java HotSp

    JDK1.8所有vmXX选项及值(java)

    JDK1.8.0_112所有vm选项,用于...基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。 -XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial

    kafka_2.9.2-0.8.2.1.tgz

    Kafka默认开启JVM压缩指针,但只是在64位的HotSpot VM受支持,如果安装了32位的HotSpot VM,需要修改/bin/kafka-run-class.sh文件 KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC...

    虚拟机

    虚拟机介绍该存储库用于保留有关Java虚拟机(JVM)的...该软件提供运行整个OS的平台程序VM(例如:JVM)为了运行单个程序,JVM运行字节码,字节码可以由多种高级编程语言(不仅限于Java)进行编译HotSpot VM拓扑

    Java 虚拟机面试题全面解析(干货)

    Java 虚拟机面试题全面解析,《深入理解Java虚拟机》干货版,自己总结,希望能够帮助大家,免费下载~什么是类加载机制? 虚拟机和物理机的区别是什么? 运行时栈帧结构 Java方法调用 什么是方法调用? Java的方法调用,...

    jvm_book:《深入理解Java虚拟机(第3版)》样例代码&勘误

    部分代码需要在特定的虚拟机版本、参数下运行,在代码前均已“VM Args”的注释进行标注。  书中的勘误也会在本文中持续更新,读者可通过issues提交新的勘误,如对新版有任何建议,也欢迎以或任何其他您方便的形式...

    rsamatlab代码-2017_kragel_mfc_generalizability_natneurosci:用于识别疼痛,认知控制和消极

    HotSpot(TM)64位服务器VM混合模式的Java 1.7.0_60-b19 包装脚本:这些脚本按如下所述运行代码块。 这些文件应按顺序运行(或全部通过RunAllAnalyses一次运行) PreliminaryTasks.m-设置一些参数,配置MATLAB路径并...

    Eclipse 启动运行速度调优

    -vmargs - 表示将后面的所有参数直接传递到所指示的 Java VM。 <br>-Xverify:none - 此开关关闭Java字节码验证,从而加快了类装入的速度,并使得在仅为验证目的而启动的过程中无需装入类。此开关缩短了启动...

    SogouExplorer.exe

    java.lang.IllegalStateException: Keyboard must be created before you can read events at org.lwjgl.input.Keyboard.next(Keyboard.java:475) at azd.o(SourceFile:1374) at azd.ad(SourceFile:753) at azd....

Global site tag (gtag.js) - Google Analytics