A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小忠 中级黑马   /  2014-11-26 20:33  /  1851 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天有同学问我类加载的机制~~当时就蒙了,就说了一些classpath这类的~~~对吗?

7 个回复

倒序浏览
我还在基础班  上课的时候老师有简单说过这个问题,类加载是Java程序运行的第一步,然后先加载父类,再加载子类,
再然后初始化父类static,然后初始化子类static,然后执行父类构造函数,最后执行子类构造函数 。
回复 使用道具 举报
从网上搜了下    自己看的不是很懂  希望能帮到楼主
每个ClassLoader加载Class的过程是:
1.检测此Class是否载入过(即在cache中是否有此Class),如果有到8,如果没有到2
2.如果parent classloader不存在(没有parent,那parent一定是bootstrap classloader了),到4
3.请求parent classloader载入,如果成功到8,不成功到5
4.请求jvm从bootstrap classloader中载入,如果成功到8
5.寻找Class文件(从与此classloader相关的类路径中寻找)。如果找不到则到7.
6.从文件中载入Class,到8.
7.抛出ClassNotFoundException.
8.返回Class.
回复 使用道具 举报
难道不是建立对象,类、对象加入内存的先后顺序问题吗?
回复 使用道具 举报
2楼描述的很详细  学习了
回复 使用道具 举报
看看学习学习~~
回复 使用道具 举报
类加载器加载的原理:
      其实类加载器也是个类,其实加载字节码文件的是类加载器,但是整个java类加载器是有组成结构的:
     其中具体的请看文件中的描述:
回复 使用道具 举报
该文件中具体描述了类加载器的原理

java额外基础3.rar

27.07 KB, 下载次数: 325

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马