cargador de clase jvm

Los tres procesos del cargador de clase jvm

1. Carga

通过一个类的全限定名获取此类的二进制字节流

. Convierta la estructura de almacenamiento estática representada por este flujo de bytes en la estructura de datos en tiempo de ejecución del área de métodos
. Genere un objeto de clase que represente esta clase en la memoria como entrada de acceso para varios datos de esta clase en el área de métodos.

2. Enlace

验证
	确保class文件符合当前虚拟机的要求
准备
	为类变量分配内存,并设置类变量的初始值,不会给实列变量初始化
解析
	将类的符号引用转化为实际引用

3. Inicialización

El proceso de inicialización es el proceso de ejecución del método constructor de clases <método clinit ()>. El compilador javac recopila automáticamente las acciones de asignación de todas las variables de la clase y las fusiona con las declaraciones en el bloque de código estático. Las
instrucciones del método constructor están en el archivo original El orden de aparición se ejecuta
. Clinit () es diferente del constructor de la clase
. La máquina virtual debe asegurarse de que los métodos de una clase se ejecuten solo una vez.

Supongo que te gusta

Origin blog.csdn.net/weixin_40128696/article/details/107669893
Recomendado
Clasificación