En Java, les fichiers de classe sont chargés via la JVM. Les méthodes de chargement de classe sont divisées en chargement implicite et chargement explicite. Parmi eux, lorsqu'un objet est créé via new lors du chargement implicite, le fichier de classe correspondant est implicitement chargé dans la JVM via le chargeur de classe. Le chargement explicite charge explicitement les fichiers de classe requis dans la JVM via class.forName().
Dans le langage Java, les classes sont chargées dynamiquement. Au lieu de charger tous les fichiers de classe dans la JVM en même temps, les classes de base sont d'abord chargées dans la JVM, et les autres classes d'utilisateurs sont chargées dans la JVM si nécessaire. Chargé dans JVM.
En langage Java, les classes peuvent être divisées en trois catégories : les classes système, les classes d'extension et les classes personnalisées. Différents chargeurs de classes sont fournis pour ces trois types de fichiers
Bootstrap Loader -- Chargement responsable. classes système
ExtClass Loader - Responsable du chargement des classes d'extension
AppClassLoader - Responsable du chargement des classes d'application
Le processus de chargement des classes comprend principalement les étapes suivantes (Pour plus de détails, veuillez vous référer à « Compréhension approfondie de la machine virtuelle Java »)
1. Chargement : recherchez le fichier de classe correspondant en fonction du chemin de recherche, puis importez-le.
2. Lien : Le lien peut être divisé en 3 étapes
(1) Vérifier : Vérifier l'exactitude du fichier de classe à charger
(2) Préparation : Placez la classe dans Allouer de l'espace mémoire pour les variables statiques
(3) Analyse : analyser les références de symboles en références directes
3. Initialisation : effectuer un travail d'initialisation sur les variables statiques et les blocs de code statiques.
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!