What is the purpose of jvm.cfg file in relation to Java?

后端 未结 1 804
失恋的感觉
失恋的感觉 2020-12-03 18:12

It has some strange keywords. Please explain the general purpose of the file.

相关标签:
1条回答
  • 2020-12-03 19:12

    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.

    0 讨论(0)
提交回复
热议问题