Maison > Java > javaDidacticiel > Analyse d'exemples de processus de chargement de classe Java

Analyse d'exemples de processus de chargement de classe Java

WBOY
Libérer: 2023-05-14 15:25:06
avant
1455 Les gens l'ont consulté

Explication

Lorsque le programme utilise activement une classe, si la classe n'a pas été chargée en mémoire, le système utilisera les trois étapes suivantes pour cela la classe est initialisée.

Étapes de chargement de la classe

1 Chargement : chargez le contenu du bytecode du fichier de classe en mémoire et convertissez ces données statiques en runtime. structure de données de la zone de méthode, puis génère un objet java.lang.Class représentant cette classe, qui sert d'entrée d'accès aux données de classe dans la zone de méthode.

2. Liaison : Le processus de fusion du code binaire de la classe Java dans l'état d'exécution de la JVM.

3. Le processus d'exécution de la méthode () du constructeur de classe.

Instance

public class ClassLoadingTest{
    public static void main (String [] args){
        System.out.println(test.m);
    }
}
 
class test{
    static {
        m = 300;
    }
    static int m = 100;
}
//第一步:加载
//第二步:链接结束后m=0
//第三步:初始化结束后,m的值由<clinit>()方法执行决定
/*
这个test构造器<clinit>()方法由类变量的赋值和静态代码块中的语句按照顺序合并产生,类似于
<clinit>(){
m = 300;
m = 100;
}
*/
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal