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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢其龙 黑马帝   /  2012-1-9 05:08  /  2546 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卢其龙 于 2012-1-9 20:33 编辑

类加载器怎么理解呢?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

4 个回复

倒序浏览
Java程序是动态加载的。JVM只会加载程序运行时的类文件,这种动态的类加载机制就是类加载器实现的

加载过程:
加入程序从MyProgram 运行,类加载器就会先加载MyProgram,如果它具有其他类型的成员变量或者超累,内些类文件也会被夹在

然后初始化静态资源,执行Main方法

然后加载main方法中涉及到的其他类

如果需要实例化操作那么初始化后悔分配内存空间,然后初始化成员变量,最后执行构造函数

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的 newInstance()方法就可以创建出该类的一个对象。实际的情况可能更加复杂,比如 Java 字节代码可能是通过工具动态生成的,也可能是通过网络下载的。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
就是根据类名把类的字节码加载到内存,加载的内容包括该类属性,方法等信息,可以根据特定的方法得到并调用它们。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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