请问一下JVM加载class文件的原理机制?

wangdong110456 2009-12-31 04:08:45
rt
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dazzlingwinter 2009-12-31
  • 打赏
  • 举报
回复
推荐LZ看一下王森先生的<JAVA2深度历险>的CH_02:深入类别载入器这一章节,很详细
JVM要将一般的类要载入时,都是调用AppClassLoader来子爱如的
当AppClassLoadery要载入时,会现请求其Parent即ExtClassLoader来载入
而ExtClassLoader又请求其Parent,即BootstrapLoader来载入

如果BootstrapLoade在其搜索路径下找不到,返回ExtClassLoader来载入
如果ExtClassLoader在其搜索路径下找不到,返回AppClassLoader
来载入
如果AppClassLoader再起搜索路径下找不到,将抛出ClassNotFound异常
大概就这样
wangdong110456 2009-12-31
  • 打赏
  • 举报
回复
明白了,谢谢~
抽风的凹凸曼 2009-12-31
  • 打赏
  • 举报
回复
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析
装载:查找和导入类或接口的二进制数据;
链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;
校验:检查导入类或接口的二进制数据的正确性;
准备:给类的静态变量分配并初始化存储空间;
解析:将符号引用转成直接引用;
初始化:激活类的静态变量,初始化Java代码和静态Java代码块
抽风的凹凸曼 2009-12-31
  • 打赏
  • 举报
回复
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它

负责在运行时查找和装入类文件的类。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧