前言
最近在面试过程中有被问到,在加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。
解释
在和ClassLoader都可以对类进行加载。
ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的ClassLoader来实现的。
Class.forName(String className);这个方法的源码是
@CallerSensitive
public static Class