黑马程序员技术交流社区

标题: 类加载的机制是什么? [打印本页]

作者: 王小忠    时间: 2014-11-26 20:33
标题: 类加载的机制是什么?
今天有同学问我类加载的机制~~当时就蒙了,就说了一些classpath这类的~~~对吗?
作者: 与梦逆风而行    时间: 2014-11-26 21:01
我还在基础班  上课的时候老师有简单说过这个问题,类加载是Java程序运行的第一步,然后先加载父类,再加载子类,
再然后初始化父类static,然后初始化子类static,然后执行父类构造函数,最后执行子类构造函数 。

作者: 与梦逆风而行    时间: 2014-11-26 21:08
从网上搜了下    自己看的不是很懂  希望能帮到楼主
每个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.

作者: 桃华月禅    时间: 2014-11-26 21:32
难道不是建立对象,类、对象加入内存的先后顺序问题吗?
作者: 刘隽哲    时间: 2014-11-26 21:59
2楼描述的很详细  学习了
作者: Tae丶Yeon    时间: 2014-11-26 23:56
看看学习学习~~
作者: zhangyangLengen    时间: 2014-11-27 14:45
类加载器加载的原理:
      其实类加载器也是个类,其实加载字节码文件的是类加载器,但是整个java类加载器是有组成结构的:
     其中具体的请看文件中的描述:
作者: zhangyangLengen    时间: 2014-11-27 14:46
该文件中具体描述了类加载器的原理

java额外基础3.rar

27.07 KB, 下载次数: 318






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2