Al leer esto article, sé que cada aplicación java se ejecutará en una instancia específica de máquina virtual Java. Entonces, si ejecuto los siguientes comandos ("Java -jar test1.jar", "Java -jar test2.jar", obtendré dos procesos en el sistema. Y si cada comando usó el tamaño de almacenamiento dinámico predeterminado, por ejemplo, 256M. el costo total de la memoria es de 512 Mb, es cierto también tengo otras preguntas: ¿?lo que hará la máquina virtual Java al ejecutar múltiples aplicaciones java
- es la máquina virtual de Java un servicio, en la puesta en marcha con el sistema
- Cuando ejecuto "test1 java-jar .jar ", creará una instancia de Java Virtual Machine, luego ejecutará la función principal. ¿Significa que cada aplicación Java en ejecución es un subproceso o subproceso de Java Virtual Machine?
- Cada aplicación Java en ejecución es individual, otra aplicación ation no puede obtener variables, métodos, constantes, etc. de esta aplicación java en ejecución?
- Si una aplicación java en ejecución se cuelga, ¿afectará a otra aplicación java en ejecución?
PD: Busqué en Google y obtuve muchas respuestas diferentes, estaba totalmente confundido. Cualquiera que pueda ayudarme en este tipo de preguntas o incluso más profundidad de la máquina virtual Java. Por ejemplo, cómo funciona.
Para no contradecir, pero para aclarar; la reutilización de páginas de memoria de código (binario) es una característica del sistema operativo, no de Java. – SJuan76
@ SJuan76 - Acabo de añadir una aclaración. Thx –
@BrianAgnew Aquí mi otra pregunta, hasta donde yo sé, cada aplicación Java en ejecución es individual y cada uno de ellos tiene su propio uso de memoria. ¿Pero cómo gestiona el tamaño del montón mediante las opciones "-Xms y -Xmx"? Este es uno de los modelos de memoria de JVM (http://www.ibm.com/developerworks/aix/library/au-JavaPart2.html), lo he leído pero me siento confuso. – bannie