类加载机制之Class.forName()

来源:互联网 发布:mac 安装oracle数据库 编辑:程序博客网 时间:2024/06/05 20:28

  Class.forName()是Java程序运行时加载类的默认方法,如下图所示:
这里写图片描述

Class.forName()方法解析

Class.forName(String className):使用调用Class.forName()方法的类的类加载器加载加载类,如下图所示:
这里写图片描述
Class.forName(String name, boolean initialize,ClassLoader loader):使用指定的类加载器加载类;

Class.forName()加载类的过程

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

这里写图片描述
2. 若没有加载则调用loader.loadClass(name)进行类型加载;