What is the purpose of jvm.cfg file in relation to Java?
It has some strange key开发者_如何学Cwords. Please explain the general purpose of the file.
Short version:
Controls the JVMs which may be picked with startup flags when invoking java or javac.
Long version:
Let's start with the comments
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
So we have a list of 'JVM's to pass to java/javac. We need to clarify what a JVM is in the context of this file.
Let's take one simple line:
-green ERROR
and experiment
java -green > /dev/null
Error: green VM not supported
So it seems that the ERROR flag signals an unsupported configuration.
Let's move on to
-classic WARN
and execute
java -classic > /dev/null
Warning: classic VM not supported; client VM will be used
Seems that 'WARN' will send us to the default JVM which seems to be 'client' for us.
Then we can take a look at the first line
-client IF_SERVER_CLASS -server
which seems to signal that the default is server unless the machine is a server-class.
The next one is
-server KNOWN
which means that the server JVM is known.
And finally
-hotspot ALIASED_TO -client
means that hotspot is equivalent to client.
精彩评论