运行以下命令列出所有可用的jvm标志:
jcmd 24468 VM.flags -all | less -N
然后在最后一栏中,找到以下值(在Linux上使用JDK1.8):
* product
default value is the same on all platform,
* pd product
default value is platform-dependent,
* manageable
could change dymanically in runtime,
*
* C1 product
* C2 product
*
* C1 pd product
* C2 pd product
*
* product rw
*
* lp64_product
* ARCH product
*
* commercial
*
问题是:
我只知道某些价值观的含义,我已经解释了,其余的含义是什么?
答案 0 :(得分:2)
标志的类型取决于HotSpot源代码中声明/定义标志的位置。大多数标志都在src/share/vm/runtime/globals.hpp中声明。
pd_product
标志也在globals.hpp中声明,但在一个与平台相关的文件中定义:
C1 product
和C2 product
标志分别特定于C1(客户端)和C2(服务器)编译器。它们在文件中声明
C1 pd product
和C2 pd product
是特定于平台的目录(os,cpu,os_cpu)中定义的C1 / C2标志。product rw
标志与manageable
类似,但仅供内部使用,并可能在未来版本的JVM中更改。这些标志也可以在运行时通过JMX进行修改。lp64_product
标志仅存在于64位JVM中。在32位JVM中,它们是编译时常量。ARCH product
标志仅存在于特定体系结构上,不同于pd_product
,它们存在于任何地方但默认值不同。特定于体系结构的标志在src/cpu/x86/vm/globals_x86.hpp中声明和定义。commercial
标记需要-XX:+UnlockCommercialFeatures
选项。还有
diagnostic
标志供JVM开发人员使用。-XX:+UnlockDiagnosticVMOptions
解锁。 experimental
标记未完全测试/支持的功能。-XX:+UnlockExperimentalVMOptions
解锁。