`
sunshineman
  • 浏览: 5058 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

java hotspot vm 非标准选项(翻译)

 
阅读更多

本文提供了典型的影响java hotspot虚拟机性能特征命令行选项和环境变量。除非在别的地方标注了,所有这篇文档的内容适用于java hotspot client和server虚拟机。 

java hotspot虚拟机选项分类

被java hotspot 虚拟机识别的标准选项在Windows ,Solaris , Linux java 应用程序启动参考页面已经描述过。这篇文章专门论述被java hotspot 虚拟机识别的非标准选项:
. 以 -X开头的选项是非标准的(不保证在所有虚拟机实现都被支持),并且很容易在接下来的jdk发布版本中改变而没有通知
. 以-XX开始的选项不稳定并且很容易在没有通知的情况下改变
使用1.3.0以前版本的jdk用户如果希望迁移到java hotspot(jdk1.3.0以前使用的是exact 虚拟机) 虚拟机可以参考 Java HotSpot Equivalents of Exact VM flags

一些有用的-XX 选项

java se 6 在solaris平台的-server默认值都被列出。有些选项在不同的硬件架构/操作系统/jvm版本会不同。不同平台的不容默认值
在描述中列出。
boolean 选项用-XX:+<option>开启,用-XX:-<option>关闭
. 数字选项用-XX:<option>=<number>来设置。数字可以包含'm'或者'M'来表示兆字节,'k',或者'K'来表示千字节,'g',或者'G'来表示千兆字节(例如,32k和32768表达一个意思
. 数字选项用-XX:<option>=<string>来设置。通常用来指定一个文件,一个路径或者一列命令

被标记为可管理的的标志是可以通过jdk management接口和Jconsole(com.sun.management.HotSpotDiagnosticMXBean API)来动态修改.在 Monitoring and Managing Java SE 6 Platform Applications这篇文档里,图片3给了一个例子。可管理的标示同样可以通过jino-flag来设置。

以下选项被大致分成类。
行为选项   改变虚拟机的基本行为
. Garbage First(G1,备注jdk7默认的垃圾回收算法)  垃圾回收选项
. 性能调优选项  可以调节虚拟机性能的旋钮选项
. 调试选项   主要用来开启跟踪,打印和输出虚拟机信息

行为选项


选项和默认值 描述(中英对照)
-XX:-AllowUserSignalHandlers Do not complain if the application installs signal handlers. (Relevant to Solaris and Linux only.)
如果应用程序安装了信号处理器则不抱怨(只在solaris和linux上有效)
-XX:AltStackSize=16384 Alternate signal stack size (in Kbytes). (Relevant to Solaris only, removed from 5.0.)
改变信号栈大小(以千字节为单位)。(只在上solaris上有效,已经从jdk5.0中移除)
-XX:-DisableExplicitGC Disable calls to System.gc(), JVM still performs garbage collection when necessary.
禁止调用Sytem.gc()方法,虚拟机依然在必要的时候执行垃圾回收
-XX:+FailOverToOldVerifier Fail over to old verifier when the new type checker fails. (Introduced in 6.)
当新的类型检查器失败时使用老的验证器(jdk6引进)
-XX:+HandlePromotionFailure The youngest generation collection does not require a guarantee of full promotion of all live objects. (Introduced in 1.4.2 update 11) [5.0 and earlier: false.]
新生代垃圾回收没有保证所有的存活对象迁移到老生代( 1.4.2 update 11引进).jdk5及老版本的默认值是false

-XX:+MaxFDLimit Bump the number of file descriptors to max. (Relevant  to Solaris only.)
把文件描述符的数量调到最大(只在solaris上有效)
-XX:PreBlockSpin=10 Spin count variable for use with -XX:+UseSpinning. Controls the maximum spin iterations allowed before entering operating system thread synchronization code. (Introduced in 1.4.2.)
在-XX:+UseSpinning选项中设置的spin数目变量。控制在进入操作系统线程同步代码前夫人最大spin迭代个数。(1.4.2引进)
-XX:-RelaxAccessControlCheck Relax the access control checks in the verifier. (Introduced in 6.)
放松访验证器的问控制检查(jdk 6引进)
-XX:+ScavengeBeforeFullGC Do young generation GC prior to a full GC. (Introduced in 1.4.1.)
在直接fullGC前执行新生代GC(minor GC)(jdk 1.4.1引进)
-XX:+UseAltSigs Use alternate signals instead of SIGUSR1 and SIGUSR2 for VM internal signals. (Introduced in 1.3.1 update 9, 1.4.1. Relevant to Solaris only.)
使用替代信号取代SIGUSR1 和 SIGUSR2作为虚拟机内部信号(在jdk1.3.1 更新9和1.4.1中引进。只在solaris上有效)
-XX:+UseBoundThreads Bind user level threads to kernel threads. (Relevant to Solaris only.)
绑定用户级别的线程到内核线程。(只在solaris上有效)
-XX:-UseConcMarkSweepGC Use concurrent mark-sweep collection for the old generation. (Introduced in 1.4.1)
老生代使用并发 标记-扫除(cms)垃圾回收算法.(jdk1.4.1引进)
-XX:+UseGCOverheadLimit Use a policy that limits the proportion of the VM's time that is spent in GC before an OutOfMemory error is thrown. (Introduced in 6.)
在内存不够错误抛出之前使用一个策略来限制花在垃圾回收的时间的比例(jdk6引入)
-XX:+UseLWPSynchronization Use LWP-based instead of thread based synchronization. (Introduced in 1.4.0. Relevant to Solaris only.)
使用基于LWP( lightweight processes欲了解请参考 http://java.sun.com/docs/hotspot/threads/threads.html)的同步替代基于线程的同步。(jdk1.4.0引入,只在solaris上有效)
-XX:-UseParallelGC Use parallel garbage collection for scavenges. (Introduced in 1.4.1)
使用并行垃圾回收算法来进行垃圾回收(jdk1.4.1引进)
-XX:-UseParallelOldGC Use parallel garbage collection for the full collections. Enabling this option automatically sets -XX:+UseParallelGC. (Introduced in 5.0 update 6.)
使用并发垃圾回收算法来进行full GC.激活这个选项自动设置了-XX:+UseParallelGC选项
-XX:-UseSerialGC Use serial garbage collection. (Introduced in 5.0.)
使用串行垃圾回收(jdk5.0引进)
-XX:-UseSpinning Enable naive spinning on Java monitor before entering operating system thread synchronizaton code. (Relevant to 1.4.2 and 5.0 only.) [1.4.2, multi-processor Windows platforms: true]
在进入操作系统线程同步锁前在java monitor上使用naive spinning
-XX:+UseTLAB Use thread-local object allocation (Introduced in 1.4.0, known as UseTLE prior to that.) [1.4.2 and earlier, x86 or with -client: false]
使用本地线程对象分配策略(jdk1.4.0引进,之前的版本使用 UseTLE选项)
[1.4.2之前版本,x86硬件体系或者client模式,默认值是false]

XX+UseSplitVerifier Use the new type checker with StackMapTable attributes. (Introduced in 5.0.)[5.0: false]
使用新的拥有StackMapTable 属性的类型检查器(jdk1.5.0引进)[5.0默认值是false]

-XX:+UseThreadPriorities Use native thread priorities.
使用本地线程优先级
-XX:+UseVMInterruptibleIO Thread interrupt before or with EINTR for I/O operations results in OS_INTRPT. (Introduced in 6. Relevant to Solaris only.)
在I/O操作之前或者与I/O操作的同时有线程中断则产生OS_INTRPT(在jdk6引进,只在Solaris 有效)


Garbage First (G1) 垃圾回收选项


选项和默认值 描述(中英对照)
-XX:+UseG1GC Use the Garbage First (G1) Collector
使用G1垃圾收集器
-XX:MaxGCPauseMillis=n Sets a target for the maximum GC pause time. This is a soft goal, and the JVM will make its best effort to achieve it.
设定一个最大GC停顿时间。这是一个软性目标,虚拟机会尽力达到。
-XX:InitiatingHeapOccupancyPercent=n Percentage of the (entire) heap occupancy to start a concurrent GC cycle. It is used by GCs that trigger a concurrent GC cycle based on the occupancy of the entire heap, not just one of the generations (e.g., G1). A value of 0 denotes 'do constant GC cycles'. The default value is 45.
启动一个并发垃圾收集周期所需要达到的整堆占用比例。这个比例是指整个堆的占用比例而不是某一个代(例如G1),如果这个值是0则代表‘持续做GC’。默认值是45
-XX:NewRatio=n Ratio of new/old generation sizes. The default value is 2.
新生代/老生代大小的比率。默认值是2
-XX:SurvivorRatio=n Ratio of eden/survivor space size. The default value is 8.
伊登区/幸存区空间大小比率。默认值是8
-XX:MaxTenuringThreshold=n Maximum value for tenuring threshold. The default value is 15.
成熟阀值最大值(控制对象最多能经历多少次Minor GC才晋升到旧生代)。默认最大值。
-XX:ParallelGCThreads=n Sets the number of threads used during parallel phases of the garbage collectors. The default value varies with the platform on which the JVM is running.
设置垃圾回收器并行阶段最多使用的线程数。默认值随着jvm运行的平台的不同而变化
-XX:ConcGCThreads=n Number of threads concurrent garbage collectors will use. The default value varies with the platform on which the JVM is running.
并发垃圾回收器所使用的线程数目。默认值随着jvm运行的平台的不同而变化
-XX:G1ReservePercent=n Sets the amount of heap that is reserved as a false ceiling to reduce the possibility of promotion failure. The default value is 10.
设置保留用来做假天花板以减少晋升(新生代对象晋升到老生代)失败可能性的堆数目。默认值是10
-XX:G1HeapRegionSize=n With G1 the Java heap is subdivided into uniformly sized regions. This sets the size of the individual sub-divisions. The default value of this parameter is determined ergonomically based upon heap size. The minimum value is 1Mb and the maximum value is 32Mb.
使用G1垃圾回收器,java堆被划分成统一大小的区块。这个选项设置每个区块的大小。默认值根据堆大小而定。最小值是1Mb,最大值是32Mb




性能选项


选项和默认值 描述(中英对照)
-XX:+AggressiveOpts Turn on point performance compiler optimizations that are expected to be default in upcoming releases. (Introduced in 5.0 update 6.)
打开poing perfermance comipler优化,这个选项在接下来的发布版本中默认开启(在jdk5更新6中引进
-XX:CompileThreshold=10000 Number of method invocations/branches before compiling [-client: 1,500]
编译前的方法调用/分支数目[client模式默认值1500]
-XX:LargePageSizeInBytes=4m Sets the large page size used for the Java heap. (Introduced in 1.4.0 update 1.) [amd64: 2m.]
设置java堆的大页大小(1.4.0更新1引进)[amd64处理器默认值2m]
-XX:MaxHeapFreeRatio=70 Maximum percentage of heap free after GC to avoid shrinking.
最大的GC后的空闲堆比例以避免收缩
-XX:MaxNewSize=size Maximum size of new generation (in bytes). Since 1.4, MaxNewSize is computed as a function of NewRatio. [1.3.1 Sparc: 32m; 1.3.1 x86: 2.5m.]
最大的新生代(以字节为单位)
-XX:MaxPermSize=64m Size of the Permanent Generation.  [5.0 and newer: 64 bit VMs are scaled 30% larger; 1.4 amd64: 96m; 1.3.1 -client: 32m.]
永久代的大小
-XX:MinHeapFreeRatio=40 Minimum percentage of heap free after GC to avoid expansion.
最小的空间堆比例以避免膨胀

-XX:NewRatio=2 Ratio of new/old generation sizes. [Sparc -client: 8; x86 -server: 8; x86 -client: 12.]-client: 4 (1.3) 8 (1.3.1+), x86: 12]
新生代/老生代大小比率
-XX:NewSize=2m Default size of new generation (in bytes) [5.0 and newer: 64 bit VMs are scaled 30% larger; x86: 1m; x86, 5.0 and older: 640k]
新生代的默认大小(以字节为单位)
-XX:ReservedCodeCacheSize=32m Reserved code cache size (in bytes) - maximum code cache size. [Solaris 64-bit, amd64, and -server x86: 48m; in 1.5.0_06 and earlier, Solaris 64-bit and amd64: 1024m.]
保留的代码缓存大小(以字节为单位)-最大的代码缓存大小
-XX:SurvivorRatio=8 Ratio of eden/survivor space size [Solaris amd64: 6; Sparc in 1.3.1: 25; other Solaris platforms in 5.0 and earlier: 32]
伊登区/幸存区空间大小比率
-XX:TargetSurvivorRatio=50 Desired percentage of survivor space used after scavenge.
垃圾回收后想要达到的幸存区的使用比例
-XX:ThreadStackSize=512 Thread Stack Size (in Kbytes). (0 means use default stack size) [Sparc: 512; Solaris x86: 320 (was 256 prior in 5.0 and earlier); Sparc 64 bit: 1024; Linux amd64: 1024 (was 0 in 5.0 and earlier); all others 0.]
线程栈大小(以千字节为单位)。(0代表使用默认栈大小)
-XX:+UseBiasedLocking Enable biased locking. For more details, see thistuning example. (Introduced in 5.0 update 6.) [5.0: false]
使用偏向锁。具体细节,参考tuning example
-XX:+UseFastAccessorMethods Use optimized versions of Get<Primitive>Field.
使用优化的Get<Primitive>Field版本
-XX:-UseISM Use Intimate Shared Memory. [Not accepted for non-Solaris platforms.] For details, see Intimate Shared Memory.
使用隐私共享内存[非solaris平台不能使用]。具体细节,请参考Intimate Shared Memory.
-XX:+UseLargePages Use large page memory. (Introduced in 5.0 update 5.) For details, see Java Support for Large Memory Pages.
使用大页内存。具体细节,请参考Java Support for Large Memory Pages.
-XX:+UseMPSS Use Multiple Page Size Support w/4mb pages for the heap. Do not use with ISM as this replaces the need for ISM. (Introduced in 1.4.0 update 1, Relevant to Solaris 9 and newer.) [1.4.1 and earlier: false]
堆使用使用多种页大小支持w/4mb。不要与ISM同时使用,因为这个替换了ISM的需求
-XX:+UseStringCache Enables caching of commonly allocated strings.
使用缓存经常分配的字符串机制
 
-XX:AllocatePrefetchLines=1 Number of cache lines to load after the last object allocation using prefetch instructions generated in JIT compiled code. Default values are 1 if the last allocated object was an instance and 3 if it was an array.
在使用JIT生成的预读取指令分配对象后读取的缓存行数。如果上次分配的对象是一个实例则默认值是1,如果是一个数组则是3
 
-XX:AllocatePrefetchStyle=1 Generated code style for prefetch instructions.
0 - no prefetch instructions are generate*d*,
1 - execute prefetch instructions after each allocation,
2 - use TLAB allocation watermark pointer to gate when prefetch instructions are executed.
  预读取指令的生成代码风格
0- 无预读取指令生成
1-在每次分配后执行预读取命令
2-当预读取指令执行后使用TLAB()分配水印指针来找回入口
-XX:+UseCompressedStrings Use a byte[] for Strings which can be represented as pure ASCII. (Introduced in Java 6 Update 21 Performance Release) 
使用字节数组表示能用纯ascII码表示的字符串
 
-XX:+OptimizeStringConcat Optimize String concatenation operations where possible. (Introduced in Java 6 Update 20) 
可能的场景下优化字符串拼接操作
 


调试选项


选项和默认值 描述(中英对照)
-XX:-CITime Prints time spent in JIT Compiler. (Introduced in 1.4.0.) 
打印花在JIT(just in time)编译器上的时间
-XX:ErrorFile=./hs_err_pid<pid>.log If an error occurs, save the error data to this file. (Introduced in 6.)
如果错误发生,把错误数据保存到这个文件
-XX:-ExtendedDTraceProbes Enable performance-impacting dtrace probes. (Introduced in 6. Relevant to Solaris only.)
使用影响性能的dtrace探针(jdk6引进,只对solaris有效)
-XX:HeapDumpPath=./java_pid<pid>.hprof Path to directory or filename for heap dump.Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)
指定导出堆信息到一个文件夹或者文件,可在运行时修改的参数。
-XX:-HeapDumpOnOutOfMemoryError Dump heap to file when java.lang.OutOfMemoryError is thrown. Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)
当内存不够错误抛出的时候导出对信息到一个文件。可在运行时修改的参数。
-XX:OnError="<cmd args>;<cmd args>" Run user-defined commands on fatal error. (Introduced in 1.4.2 update 9.)
在发生致命错误时运行用户定义的命令
-XX:OnOutOfMemoryError="<cmd args>; 
<cmd args>"
Run user-defined commands when an OutOfMemoryError is first thrown. (Introduced in 1.4.2 update 12, 6)
当内存不够错误第一次抛出的时候运行用户定义的命令
-XX:-PrintClassHistogram Print a histogram of class instances on Ctrl-Break.Manageable. (Introduced in 1.4.2.) The jmap -histocommand provides equivalent functionality.
当按住ctrl+break时打印一个类实例柱状图。可在运行时修改的参数。
jmap-hosto命令提供等价的功能
-XX:-PrintConcurrentLocks Print java.util.concurrent locks in Ctrl-Break thread dump. Manageable. (Introduced in 6.) The jstack -lcommand provides equivalent functionality.
在用ctrl+break到处线程栈信息的时候打印java.util.concurrent 锁信息。可在运行时修改的参数。jstak-l命令提供等价的功能
-XX:-PrintCommandLineFlags Print flags that appeared on the command line. (Introduced in 5.0.)
打印命令行上出现的额标志信息
-XX:-PrintCompilation Print message when a method is compiled.
当一个方法被编译的时候打印信息。
-XX:-PrintGC Print messages at garbage collection. Manageable.
垃圾回收的时候打印信息。可在运行时修改的参数。
-XX:-PrintGCDetails Print more details at garbage collection.Manageable. (Introduced in 1.4.0.)
垃圾回收的时候打印更多详细信息。可在运行时修改的参数。
-XX:-PrintGCTimeStamps Print timestamps at garbage collection. Manageable(Introduced in 1.4.0.)
在垃圾回收的时候打印时间信息。可在运行时修改的参数。
-XX:-PrintTenuringDistribution Print tenuring age information.
打印成熟度信息
-XX:-TraceClassLoading Trace loading of classes.
跟踪类加载
-XX:-TraceClassLoadingPreorder Trace all classes loaded in order referenced (not loaded). (Introduced in 1.4.2.)
按引用顺序跟踪所有类加载顺序
-XX:-TraceClassResolution Trace constant pool resolutions. (Introduced in 1.4.2.)
跟踪常量词容量
-XX:-TraceClassUnloading Trace unloading of classes.
跟踪卸载类
-XX:-TraceLoaderConstraints Trace recording of loader constraints. (Introduced in 6.)
跟踪记录加载器限制
-XX:+PerfSaveDataToFile Saves jvmstat binary data on exit.
在退出的时候保存虚拟机状态二进制数据
-XX:ParallelGCThreads= Sets the number of garbage collection threads in the young and old parallel garbage collectors. The default value varies with the platform on which the JVM is running.
设置在新生代和老生并行垃圾收集器的线程数。默认值随着虚拟机运行的不同而变化
-XX:+UseCompressedOops Enables the use of compressed pointers (object references represented as 32 bit offsets instead of 64-bit pointers) for optimized 64-bit performance with Java heap sizes less than 32gb.
在堆大小小于32gb的64位机上使用压缩的指针(对象引用使用32位替代64位指针)来
-XX:+AlwaysPreTouch Pre-touch the Java heap during JVM initialization. Every page of the heap is thus demand-zeroed during initialization rather than incrementally during application execution.
在jvm初始化的时候提前接触java堆。这样堆的每一页都在初始化的时候按照要求清零而不是增量的在应用执行的时候
-XX:AllocatePrefetchDistance= Sets the prefetch distance for object allocation. Memory about to be written with the value of new objects is prefetched into cache at this distance (in bytes) beyond the address of the last allocated object. Each Java thread has its own allocation point. The default value varies with the platform on which the JVM is running.
设置对象分配的预取大小。即将写入新对象的内存以离上次分配的对象的距离的这个大小被预取到缓存(以位为单位)。每个java线程有自己的分配点。默认值随着虚拟机运行的平台而变化
-XX:InlineSmallCode= Inline a previously compiled method only if its generated native code size is less than this. The default value varies with the platform on which the JVM is running.
内联一个上次编译过的方法,且仅当它产生的本地代码大小比这个小。默认值随着虚拟机运行的平台而变化
-XX:MaxInlineSize=35 Maximum bytecode size of a method to be inlined.
一个方法能被内联的最大字节码大小
-XX:FreqInlineSize= Maximum bytecode size of a frequently executed method to be inlined. The default value varies with the platform on which the JVM is running.
能被内联的经常的执行的方法的最大字节码大小。默认值随着虚拟机运行的平台而变化
-XX:LoopUnrollLimit= Unroll loop bodies with server compiler intermediate representation node count less than this value. The limit used by the server compiler is a function of this value, not the actual value. The default value varies with the platform on which the JVM is running.
使用服务器编译器作为媒介表示循环次数,如果循环次数小于这个次数则展开循环体
-XX:InitialTenuringThreshold=7 Sets the initial tenuring threshold for use in adaptive GC sizing in the parallel young collector. The tenuring threshold is the number of times an object survives a young collection before being promoted to the old, or tenured, generation.
为自适应GC并行新生代收集器设置初始的tensuring阀值。tensuring阀值是一个对象在进入老生代前在新生代存活的次数
-XX:MaxTenuringThreshold= Sets the maximum tenuring threshold for use in adaptive GC sizing. The current largest value is 15. The default value is 15 for the parallel collector and is 4 for CMS.
设置最大的
tensu阀值ing阀值,以在自适应GC。目前的最大值是15.并行收集器默认值是15,cms是4

分享到:
评论

相关推荐

    The Java HotSpot VM.pdf

    The Java HotSpot VM.pdf

    Java HotSpot VM Options

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

    Troubleshooting Guide for Java SE 6 with HotSpot VM

    Troubleshooting Guide for Java SE 6 with HotSpot VM

    Memory Management in the Java HotSpot Virtual Machine.pdf

    Memory Management in the Java HotSpot Virtual Machine.pdf

    Java HotSpot虚拟机的部分参数翻译

    NULL 博文链接:https://caoxudong818.iteye.com/blog/1214133

    Java Performance Companion(Addison,2016)

    The authors, who are all leading Java performance and Java HotSpot VM experts, help you improve performance by using modern software engineering practices, avoiding common mistakes, and applying tips ...

    java-jdk-hotspot源码

    学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...

    hotspot-virtual-machine-garbage-collection-tuning-guide.pdf

    The Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide describes the garbage collection methods included in the Java HotSpot Virtual Machine (Java HotSpot VM) and ...

    Java Performance

    Gaining “under the hood” knowledge of the Java HotSpot VM that can help you address most Java performance issues Integrating JVM-level and application monitoring Mastering Java method and heap ...

    Java.Performance.Companion.0133796825

    The authors, who are all leading Java performance and Java HotSpot VM experts, help you improve performance by using modern software engineering practices, avoiding common mistakes, and applying tips ...

    Java_Performance

    Ø Gaining “under the hood” knowledge of the Java HotSpot VM that can help you address most Java performance issues Ø Integrating JVM-level and application monitoring Ø Mastering Java method and ...

    Prentice Hall - Java Performance

    Gaining “under the hood” knowledge of the Java HotSpot VM that can help you address most Java performance issues Integrating JVM-level and application monitoring Mastering Java method and heap ...

    翻译《Memory Management in the Java HotSpot™ Virtual Machine》

    NULL 博文链接:https://caoxudong818.iteye.com/blog/1135981

    Hotspot VM源码

    HotSpot正是目前世界上java虚拟机的最好的实现。 HotSpot的基础代码是许多人辛勤劳动的结晶,这个过程迄今已持续了超过10年的时间(当然时间长并不意味着一定好,一半一半吧)。所以到现在为止,他的体积是很大的。...

    08-java11-hotspot-guide.pdf

    这是官方的原版表中文档。Java11平台中,官方hotspot虚拟机的具体实现的标书。

    JAVA虚拟机精讲

    HotSpot VM 是目前市面上高性能JVM 的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃。《Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节...

    hotspot.tar.gz

    官方完整版JVM源码Hotspot VM,文件名hotspot.tar.gz。官方完整版JVM源码Hotspot VM,文件名hotspot.tar.gz。

    The_Java_HotSpot_Performance_Engine_Architecture

    The_Java_HotSpot_Performance_Engine_Architecture,java虚拟机进阶

    借HSDB来探索HotSpot VM的运行时数据.gist1

    It will be set after the class is loaded.VM Started: Set deferred breakpoint Tes

    Java虚拟机精讲.高翔龙.带书签完整版.pdf

    HotSpot VM 是目前市面上高性能JVM 的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃。本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、...

Global site tag (gtag.js) - Google Analytics