Java carga de clases y la inicialización de temporización secuencia

la carga de clases de tiempo (cinco tipos)

La máquina virtual se disparará los siguientes cinco casos primero se carga la clase

  1. Encontrado new, getstatic, setstatic, invokestaticcódigo de bytes
  2. java.lang.reflect paquete utilizando un método basado en la llamada que refleja
  3. Al cargar una clase, encontrar su clase padre no se ha cargado, para cargar la clase padre
  4. 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
  5. JDK soporte de idiomas 1,7 dinámica, java.lang.invoke.MethodHandleejemplos de resultado analítico final es que REF_getStatic, REF_setStatic, REF_invokeStaticcuando el mango método, se carga la clase correspondiente

secuencia de inicialización Clase

  1. clase padre <clinit>código en el bloque
  2. Subclase <clinit>código de bloque
  3. clase padre <init>código en el bloque
  4. 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

Se han publicado 19 artículos originales · ganado elogios 0 · Vistas 5751

Supongo que te gusta

Origin blog.csdn.net/weixin_46221133/article/details/104221105
Recomendado
Clasificación