1、创建Sample

public class MyTest22 {

    static {
        System.out.println("MyTest22 initializer");
    }

    public static void main(String[] args) {
        System.out.println(MyTest22.class.getClassLoader());

        System.out.println(MyTest1.class.getClassLoader());
    }
}

  打印结果:

MyTest22 initializer
sun.misc.Launcher$AppClassLoader@18b4aac2
sun.misc.Launcher$AppClassLoader@18b4aac2

  

2、现在要将扩展类加载器的路径指定为当前路径

JVM 扩展类加载器2

显示结果:

JVM 扩展类加载器2

会发现还是应用加载器加载。这里扩展类加载器会有一些区别,它需要打包成class打包成jar文件

 

然后将MyTest1.class打包到jar文件中

 JVM 扩展类加载器2

此时会发现有com文件夹下有MyTest1.class, test.jar中也有MyTest1.class

JVM 扩展类加载器2

最终运行结果:

JVM 扩展类加载器2

MyTest1是由扩展类加载器加载的。

 

相关文章:

  • 2022-02-07
  • 2021-12-27
  • 2021-11-11
  • 2021-09-20
  • 2022-12-23
猜你喜欢
  • 2022-01-28
  • 2022-12-23
  • 2021-07-16
  • 2021-12-26
  • 2021-08-21
  • 2021-08-13
相关资源
相似解决方案