java类加载机制分析
1.java程序的在windows下的执行流程,如下图:
2.源码分析
2.1 sun.misc.Launcher类的getLauncher()方法,实际上就是获取已经创建好的Launcher实例
2.2.再看Launcher的构造方法,实际就是取创建扩展类加载器和应用类加载器,同时把应用类加载器的结果赋值给了Launcher的成员变量loader
2.3 所以在调用Launcher.getClassLoader()方法,实际上拿到的应用类加载器
2.4应用类启动器AppClassLoader本身是没有实现loadClass方法的,实际调用的是ClassLoader的loadClass()方法
:这一篇先到这,下一篇在讲双亲委派机制