JVM 类加载机制
2021-04-29 11:15:39 0 举报
JVM 类加载机制
作者其他创作
大纲/内容
准备
程序执行结束
Demo.javaDemo1.javaMyStringUtil.java……
JVM 启动器实例sun.misc.Launchersun.misc.Launcher.getLauncher()
委托 parent 类加载器加载
重点理解过程
java Demo.classmain()
classLoader.loadClass(\"com.test.Demo\")
类加载完成
已加载过则直接返回
JVM 虚拟机创建
一般类加载顺序(未显示指定类加载器)
Windows 系统下 java.exe 调用 jvm.dll 创建 JVM
加载
由 C++ JVM 调用主类方法入口
引导类加载器加载
创建运行类自己的类加载器AppClassLoader(应用类加载器)
Demo.main()
扩展类加载器ExtClassLoader
JVM
编译打包为 .class 文件
底层由 Java 实现
Launcher 负责创建其他类加载器
初始化
引导类加载器(C++ 实现)
调用 loadClass() 方法加载该类实例
引导类加载器BootStrapClassLoader
底层源码由C++ 编写
launcher.getClassLoader()
自定义类加载器
加载类:com.test.Demo
JVM 销毁
解析
parent类加载器加载失败则返回给子类尝试加载
JVM 虚拟机(C++ 实现)
启动 JVM 虚拟机
验证
应用类加载器AppClassLoader
应用类加载器加载
0 条评论
下一页