深入理解Java加载类的机制
文章作者 100test 发表时间 2011:03:18 19:40:17
来源 100Test.Com百考试题网
导读:类加载机制不是仅仅用一个类加载器,任何一个java程序至少有以下三个类加载器。
编辑特别推荐:
#0000ff>Java加载和实例化以及构造函数
#0000ff>关于计算Java程序运行时间
#0000ff>Java中执行顺序
这里从三个方面讲述java classloader
1,翻译一下classloader的相关技术文章(来自Core Java第二卷的Chapter 9. Security),由于我的英文水平有限,难免有不合适,请大家指出.
2,将从web应用出发模拟一下web应用的classloader(这节是重点)
3,通过测试2实现的classloader来加深理解
以下是翻译的关于ClassLoader介绍
ClassLoader
JAVA编译器把源代码转换成一个假想机器(就是我们所说的虚拟机)的语言.虚拟机指令被保存在class后缀的文件里.
每一个类文件包含类和接口的定义以及实现代码.这些类文件必须被一个程序解释,这个程序能够把虚拟机的指令翻译成
宿主机的机器语言.
注意:虚拟机只加载执行一个程序所需要的类文件.举个例子,比如执行MyProgram.class,虚拟机运行的步骤如下:
1,虚拟机有一个加载类文件的机制,比如,从硬盘读取文件或者就网络获得.虚拟机用这个机制加载MyProgram的类文件
2,如果MyProgram有一个实例变量或者是超类,那么实例变量和超类的类文件也被加载.
(加载一个类所依赖的所有类的过程叫做resolving the class--