Qual é o objective do arquivo jvm.cfg em relação ao Java?

Tem algumas palavras-chave estranhas. Por favor, explique o propósito geral do arquivo.

Versão curta:

Controla as JVMs que podem ser selecionadas com sinalizadores de boot ao chamar java ou javac.

Versão longa:

Vamos começar com os comentários

# 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. 

Portanto, temos uma lista de ‘JVMs para passar para o java / javac. Precisamos esclarecer o que é uma JVM no contexto deste arquivo.

Vamos dar uma linha simples:

 -green ERROR 

e experimentar

 java -green > /dev/null Error: green VM not supported 

Portanto, parece que o sinalizador ERROR sinaliza uma configuração não suportada.

Vamos seguir em frente

 -classic WARN 

e executar

 java -classic > /dev/null Warning: classic VM not supported; client VM will be used 

Parece que ‘WARN’ nos enviará para a JVM padrão que parece ser ‘cliente’ para nós.

Então podemos dar uma olhada na primeira linha

 -client IF_SERVER_CLASS -server 

o que parece sinalizar que o padrão é o servidor , a menos que a máquina seja uma class de servidor.

O próximo é

 -server KNOWN 

o que significa que a JVM do servidor é conhecida.

E finalmente

 -hotspot ALIASED_TO -client 

significa que o hotspot é equivalente ao cliente.