Los detalles de los pasos subyacentes de la creación de objetos que los programadores de Java deben conocer desde la base cero de JVM hasta el combate avanzado

Los detalles de los pasos subyacentes de la creación de objetos que los programadores de Java deben conocer desde la base cero de JVM hasta el combate avanzado

Los detalles de los pasos subyacentes de la creación de objetos que los programadores de Java deben conocer desde la base cero de JVM hasta el combate avanzado



prefacio

Los detalles de los pasos subyacentes de la creación de objetos que los programadores de Java deben conocer desde la base cero de JVM hasta el combate avanzado


¿Cuáles son los pasos del proceso de creación de objetos Java?

inserte la descripción de la imagen aquí

  • Cuando la máquina virtual encuentra una nueva instrucción, primero verifica si la clase correspondiente puede ubicar una referencia de símbolo de una clase en el grupo de constantes.
  • Determinar si esta clase ha sido cargada, analizada e inicializada
    • Asigne espacio de memoria en el montón de Java para este objeto recién nacido.Hay dos formas principales en las que el montón de Java asigna espacio de memoria:
    • colisión de puntero
      • La asignación de espacio de memoria incluye dos pasos de abrir una parte de la memoria y mover el puntero
      • Los problemas de simultaneidad pueden ocurrir en pasos no atómicos.La máquina virtual de Java utiliza CAS con reintentos fallidos para garantizar la atomicidad de las operaciones de actualización.
    • lista libre
      • La asignación de espacio de memoria incluye dos pasos: abrir una parte de la memoria y modificar la lista libre
      • Los problemas de simultaneidad pueden ocurrir en pasos no atómicos.La máquina virtual de Java utiliza CAS con reintentos fallidos para garantizar la atomicidad de las operaciones de actualización.
    • Inicializar el espacio de memoria asignado a valor cero
    • Establecer datos relacionados con el encabezado del objeto
      • edad generacional GC
      • código hash del objeto hashCode
      • información de metadatos
    • ejecutar método de objeto

Resumir

Este artículo presenta todos los detalles de los pasos subyacentes de la creación de objetos que los programadores de Java deben conocer desde la base cero de JVM hasta el combate real avanzado. Continuaré actualizándolo en el futuro. Si le gusta, haga clic para seguir. La serie JVM se seguirá actualizando.

Supongo que te gusta

Origin blog.csdn.net/weixin_42397937/article/details/131156225
Recomendado
Clasificación