2011-10-24 11 views
11

Hay muchos parámetros para JVM. Algunos comienzan con -, como -servidor, -cliente. Algunos comienzan con -X, como -Xms, -Xmx. Algunos comienzan con -XX, como -XX: PermSize, -XX: UseParallelGC.¿Cuál es la diferencia entre -, -X params y -XX params en JVM?

Así que aquí está mi pregunta. Dado que estos parámetros no están duplicados, ¿por qué comenzar con tantos prefijos diferentes? ¿Por qué no usar "-"? Creo que hay algún tipo de estándares para esto. Los parámetros -XX son ajustes de extensión y no son compatibles con todas las impls de JVM. ¿Es eso así?

Respuesta

1

java -help:

-X  Displays information about non-standard options and exit 
1
  • opciones que comienzan con X no son estándar (no se garantiza que se apoya en todas las implementaciones de VM), y están sujetos a cambios sin previo aviso en versiones posteriores del JDK.
  • Las opciones que se especifican con -XX no son estables y están sujetas a cambios sin previo aviso.

Java Reference

3

Estos son tres categorías principales de de línea de comandos de argumentos opciones:

  • Las opciones estándar: Las opciones que comienzan con - son opciones estándar están esperado para ser aceptado por todas las implementaciones de JVM y es estable entre lanzamientos (aunque ugh pueden ser desaprobados).

  • opciones no estándar: Las opciones que comienzan con X no son estándar (no se garantiza que se apoya en todas las implementaciones de JVM), y están sujetas a cambios sin previo aviso en las versiones posteriores del SDK de Java .

  • Opciones de desarrollador: Las opciones que comienzan con -XX son opciones de desarrollador y con frecuencia tienen requisitos de sistema específicos para el funcionamiento correcto y pueden requerir un acceso privilegiado a los parámetros de configuración del sistema; no se recomiendan para uso casual. Estas opciones también están sujetas a cambios sin previo aviso.

src

Cuestiones relacionadas