加载类有好几种方式,今天主要说下Class.forName与ClassLoader这两种方式的区别

主要区别点:Class.forName加载会对类进行初始化(类加载总共有以下几个过程:加载->验证->准备->解析->初始化,详情可自行百度),而ClassLoader不会。

上代码,验证过程:

Class.forName与ClassLoader加载类的区别

Class.forName与ClassLoader加载类的区别

其中我们使用Class.forName加载,控制台打印结果:

Class.forName与ClassLoader加载类的区别

而使用ClassLoader加载,控制台无任何打印结果。

相关文章:

  • 2021-09-03
  • 2021-09-29
  • 2021-11-22
  • 2021-04-19
  • 2021-09-07
  • 2021-05-10
  • 2021-07-08
猜你喜欢
  • 2021-06-21
  • 2021-12-28
  • 2022-02-05
  • 2021-08-08
  • 2021-10-17
  • 2021-07-11
  • 2022-12-23
相关资源
相似解决方案