java类加载机制分析

1.java程序的在windows下的执行流程,如下图:

java类加载机制分析

2.源码分析

2.1 sun.misc.Launcher类的getLauncher()方法,实际上就是获取已经创建好的Launcher实例

java类加载机制分析

2.2.再看Launcher的构造方法,实际就是取创建扩展类加载器和应用类加载器,同时把应用类加载器的结果赋值给了Launcher的成员变量loader

java类加载机制分析

2.3 所以在调用Launcher.getClassLoader()方法,实际上拿到的应用类加载器

java类加载机制分析

2.4应用类启动器AppClassLoader本身是没有实现loadClass方法的,实际调用的是ClassLoader的loadClass()方法

java类加载机制分析

java类加载机制分析

:这一篇先到这,下一篇在讲双亲委派机制