À propos des types de chargeur de classe Java

Résumez le chargeur de classe Java.

boostrap class loader

Example.java


public class Example
{
    public static void main(String[] args)
    {
        System.out.println(String.class.getClassLoader());
    }
}
$ javac Example.java && java Example
null

extension class loader

Example.java


import sun.net.spi.nameservice.dns.DNSNameService;

public class Example
{
    public static void main(String[] args)
    {
        ClassLoader extLoader = DNSNameService.class.getClassLoader();
        System.out.println(extLoader);
        System.out.println(extLoader.getParent());
    }
}
$ javac Example.java && java Example
sun.misc.Launcher$ExtClassLoader@75b84c92
null

user class loader

example/A.java


package example;

public class A
{
}

Example.java


import example.A;

public class Example
{
    public static void main(String[] args)
    {
        ClassLoader appLoader = Example.class.getClassLoader();
        System.out.println(appLoader);
        System.out.println(appLoader.getParent());
        System.out.println(appLoader.getParent().getParent());
        System.out.println();

        appLoader = A.class.getClassLoader();
        System.out.println(appLoader);
        System.out.println(appLoader.getParent());
        System.out.println(appLoader.getParent().getParent());
    }
}
$ javac example/A.java && jar cf example/A.jar example/A.class
$ javac Example.java && java -classpath example/A.jar:./ Example
sun.misc.Launcher$AppClassLoader@2a139a55
sun.misc.Launcher$ExtClassLoader@75b84c92
null

sun.misc.Launcher$AppClassLoader@2a139a55
sun.misc.Launcher$ExtClassLoader@75b84c92
null

URL de référence

Recommended Posts

À propos des types de chargeur de classe Java
À propos de la classe Java
À propos de la division de classe (Java)
À propos de la classe Java StringBuilder
[Java] À propos de la classe Singleton
À propos de la classe Java String
À propos de la classe abstraite de Java
Méthode de classe variable de classe Java
A propos des types primitifs et des types de référence Java
À propos de l'interface Java
Méthodes de classe Java
[Java] À propos des fonctionnalités de Java 12
[Java] Héritage de classe
Classe Java HashMap
À propos de l'héritage de classe.
java (classe abstraite)
Quelque chose à propos de java
Où est Java
À propos des fonctionnalités Java
[Java] Classe imbriquée
Classe anonyme Java
À propos des threads Java
Interface [Java]
À propos des tableaux Java
À propos de l'héritage Java
À propos de l'interface, interface java
[java] Classe abstraite
[Java] Classe d'objets
Classe locale Java
À propos de Java Var
À propos de Java Literal
À propos des commandes Java
À propos des types de données Java (en particulier des types primitifs) et des littéraux
Java, à propos d'un tableau à deux dimensions
À propos de la classe StringBuilder
À propos de [Java] [StreamAPI] allMatch ()
À propos de la liaison de méthode Java
[Java] À propos des classes anonymes
A propos des méthodes de fractionnement (Java)
Examen de la classe interne Java
[Java Silver] À propos de l'initialisation
A propos de la liste des baies Java
À propos du polymorphisme Java Super ()
[Swing] À propos de la classe JFrame
Champ de type de classe Java
À propos de l'héritage (Java Silver)
Programmation Java (méthode de classe)
À propos des modificateurs d'accès Java
[Swift] À propos du type d'énumération
À propos des expressions Java lambda
À propos des points d'entrée Java
Prise en charge de Java 10 Docker
Résumé personnel sur Java
[Java] Principaux types de données
A propos du tri de la classe java.util.Arrays
Programmation Java (structure de classe)
Tout sur la programmation Java
[Java] Types de variables et types
Types de données de base Java