gpt4 book ai didi

java - 类加载样式的困惑

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:29 25 4
gpt4 key购买 nike

正如我在一个线程中发现的那样 Java: Difference between Class.forName and ClassLoader.loadClass Class.forName() 将始终使用调用者的 ClassLoader,而 ClassLoader.loadClass() 可以指定不同的 ClassLoader

System.out.println(Class.forName("test.Employee").getClassLoader());
System.out.println(ClassLoader.getSystemClassLoader().loadClass("test.Employee").getClassLoader());

但是上面两行打印的是相同的结果

sun.misc.Launcher$AppClassLoader@7ced01
sun.misc.Launcher$AppClassLoader@7ced01

请解释原因。

最佳答案

对您来说没有什么区别,因为您当前的类是使用 SystemClassLoader 加载的,而 SystemClassLoader 恰好是 sun.misc.Launcher$AppClassLoader@7ced01

如果您使用不同的类加载器来加载类,则两种方法在使用不同的类加载器加载的类中使用时都会使用不同的类加载器。

关于java - 类加载样式的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com