Run following command to list all available jvm flags:
jcmd 24468 VM.flags -all | less -N
Then in last column, found following values (using JDK1.8, on linux):
* 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
*
The question is:
I only know the meaning of some values, which I have give explanation, what are the meaning of the rest ones?
The type of a flag depends on a location in HotSpot source code where the flag is declared / defined. Most flags are declared in src/share/vm/runtime/globals.hpp.
pd_productflags are also declared in globals.hpp, but defined in one of platform-dependent files:C1 productandC2 productflags are specific to C1 (client) and C2 (server) compiler respectively. They are declared in filesC1 pd productandC2 pd productare those C1/C2 flags defined in platform-specific directories (os, cpu, os_cpu).product rwflags are similar tomanageable, but intended for internal use and subject to change in future versions of JVM. These flags can also be modified in run-time via JMX.lp64_productflags exist only in 64-bit JVM. In 32-bit JVM they are compile-time constants.ARCH productflags exist only on particular architecture, unlikepd_productthat exist everywhere but differ in default value. Architecture-specific flags are declared and defined in src/cpu/x86/vm/globals_x86.hpp.commercialflags require-XX:+UnlockCommercialFeaturesoption.There are also
diagnosticflags for use by JVM developers.They are unlocked by
-XX:+UnlockDiagnosticVMOptions.experimentalflags for features that are not fully tested/supported.They are unlocked by
-XX:+UnlockExperimentalVMOptions.