src/share/bin/java.c::PrintJavaVersion
/*
* Prints the version information from the java.version and other properties.
*/
static void
PrintJavaVersion(JNIEnv *env, jboolean extraLF)
{
jclass ver;
jmethodID print;
//@see:16.2.3.ShowSettings
//调用sun.misc.Version::print输出版本信息
//java version "1.8.0_191"
//Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
//Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
NULL_CHECK(ver = FindBootStrapClass(env, "sun/misc/Version"));
NULL_CHECK(print = (*env)->GetStaticMethodID(env,
ver,
(extraLF == JNI_TRUE) ? "println" : "print",
"()V"
)
);
(*env)->CallStaticVoidMethod(env, ver, print);
}