¿Cuál es el ciclo de vida del archivo .class en java (es decir, el proceso de carga de clases a la versión de clases)?

Tabla de contenido

1. El ciclo de vida de una clase

2. Referencia activa y referencia pasiva

3. ¿Cuándo se publica la clase (.class)?


1. El ciclo de vida de una clase

El archivo de código de bytes (archivo .calss) debe pasar por el siguiente proceso desde que JVM lo ejecuta hasta su lanzamiento:

El ciclo de vida completo de una clase Java pasará por cinco etapas de carga, conexión, inicialización, uso y descarga. Por supuesto, también hay casos en los que se usa directamente sin inicializarse después de cargar o conectar, como se muestra en la figura:

 

Una vez que se carga la clase java y cuando se completa la fase de uso, la clase java entra en la fase de descarga, que es la denominada versión zhi.


2. Referencia activa y referencia pasiva

Generalmente se divide en dos situaciones:

Para cotizaciones activas y pasivas , consulte el artículo.

  • Referencia activa: la clase se inicializará;
  • Referencia pasiva: la clase no se inicializará.

 


3. ¿Cuándo se publica la clase (.class)?

Con respecto a la descarga de la clase, después de que se use la clase, la clase se descargará si se cumplen las siguientes condiciones:

  • No hay instancias . Todas las instancias de esta clase se han reciclado, es decir, no existen instancias de esta clase en el montón de Java.
  • Se recicla el cargador de clases correspondiente . El ClassLoader que cargó esta clase se ha reciclado.
  • Ya no se hace referencia al .Class de esta clase . No se hace referencia al objeto java.lang.Class correspondiente a esta clase en ninguna parte y no se puede acceder a los métodos de esta clase en ninguna parte mediante la reflexión.

Si se cumplen las tres condiciones anteriores , JVM descargará la clase durante la recolección de basura en el área del método. El proceso de descarga de la clase es en realidad borrar la información de la clase en el área del método, y el ciclo de vida completo de la clase java termina.

Supongo que te gusta

Origin blog.csdn.net/Longtermevolution/article/details/107855823
Recomendado
Clasificación