首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我们是否必须在静态类上创建新的

类加载器才能加载类?

答案:是的,必须在静态类加载器上创建新的类加载器才能加载类。

解释:在Java中,类加载器分为三种:引导类加载器、扩展类加载器和应用类加载器。它们之间的关系如下:

  • 引导类加载器主要负责加载Java的核心类库,如java.lang.Object等。
  • 扩展类加载器主要负责加载Java的扩展类库,如java.sql.DriverManager等。
  • 应用类加载器主要负责加载用户程序的类,如MyClass.class等。

当需要加载一个类时,如果该类没有被加载到引导类加载器中,那么将交给扩展类加载器尝试加载;如果扩展类加载器也无法加载该类,那么将交给应用类加载器尝试加载。

如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中。如果父类加载器无法完成这个加载(因为在其类路径下没有找到所需的类),那么子类加载器才会尝试自己去加载。

因此,如果一个类在运行时只有一个类加载器可以加载这个类,那么就需要在静态类加载器上创建一个新的类加载器来加载这个类。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的结果

领券