Directorio artículo
la carga de clases de tiempo (cinco tipos)
La máquina virtual se disparará los siguientes cinco casos primero se carga la clase
- Encontrado
new
,getstatic
,setstatic
,invokestatic
código de bytes - java.lang.reflect paquete utilizando un método basado en la llamada que refleja
- Al cargar una clase, encontrar su clase padre no se ha cargado, para cargar la clase padre
- Cuando la máquina virtual se inicia, es necesario especificar (con una clase magistral
main()
método de clase), la máquina virtual para cargar tales - JDK soporte de idiomas 1,7 dinámica,
java.lang.invoke.MethodHandle
ejemplos de resultado analítico final es queREF_getStatic
,REF_setStatic
,REF_invokeStatic
cuando el mango método, se carga la clase correspondiente
secuencia de inicialización Clase
- clase padre
<clinit>
código en el bloque - Subclase
<clinit>
código de bloque - clase padre
<init>
código en el bloque - Subclase
<init>
código de bloque
bloque clinit que comprende un bloque de variables estáticas estáticas
bloque init que comprende una variable miembro con el constructor