类加载机制之Class.forName()

  Class.forName()是Java程序运行时加载类的默认方法,如下图所示:
类加载机制之Class.forName()_第1张图片

Class.forName()方法解析

Class.forName(String className):使用调用Class.forName()方法的类的类加载器加载加载类,如下图所示:
类加载机制之Class.forName()_第2张图片
Class.forName(String name, boolean initialize,ClassLoader loader):使用指定的类加载器加载类;

Class.forName()加载类的过程

  1. 查看类是否已经加载:以ClassLoader和类全名作为key去SystemDictionary 查询类是否存在,如下图所示:

类加载机制之Class.forName()_第3张图片
2. 若没有加载则调用loader.loadClass(name)进行类型加载;

你可能感兴趣的:(JVM)