Subproceso de máquina virtual JVM

Subproceso de máquina virtual JVM

  • Un hilo es una unidad de operación en un programa. JVM permite que una aplicación sea ejecutada en paralelo por múltiples subprocesos.
  • En Hotspot JVM, cada hilo se asigna directamente al hilo nativo del sistema operativo. Cuando un hilo de Java está listo para su ejecución, también se crea un hilo nativo del sistema operativo al mismo tiempo. Una vez que finaliza la ejecución del hilo de Java, el hilo local también se reciclará.
  • El sistema operativo es responsable de la programación de todos los hilos en cualquier CPU disponible. Una vez que el hilo local se haya inicializado correctamente, llamará al método run () en el hilo de Java.
  • Hilo de demonio, hilo normal (diferencias específicas, seguirán nuevas instrucciones)

Hilo del sistema JVM

Si usa jconsole o cualquier herramienta de depuración, puede ver que hay muchos subprocesos ejecutándose en segundo plano. Estos subprocesos en segundo plano no incluyen el subproceso principal que llama a public static void main (cadena []) y todos los subprocesos creados por el subproceso principal. Estos subprocesos principales del sistema en segundo plano son principalmente los siguientes en Hotspot JVM:

  • Subproceso de máquina virtual: El funcionamiento de este subproceso solo aparece cuando la JVM alcanza un punto seguro. La
    razón por la que estas operaciones deben ocurrir en diferentes subprocesos es que todas requieren que la JVM alcance un punto seguro para que el montón no cambie. El
    tipo de ejecución de este hilo incluye recolección de basura "stop-the-world", recolección de pila de subprocesos, suspensión de subprocesos y
    cancelación de bloqueo sesgada.
  • Subprocesos de tareas periódicas: estos subprocesos son la encarnación de eventos de período de tiempo (como interrupciones) y generalmente se utilizan
    para programar la ejecución de operaciones periódicas .
  • Subproceso GC: este subproceso proporciona soporte para diferentes tipos de comportamiento de recolección de basura en la JVM.
  • Subproceso del compilador: este subproceso compila el código de bytes en código nativo en tiempo de ejecución.
  • Subproceso de programación de señales: este subproceso recibe señales y las envía a la JVM, y las
    procesa llamando a los métodos apropiados dentro de él .

Supongo que te gusta

Origin blog.csdn.net/qq_37924905/article/details/108614436
Recomendado
Clasificación