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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 常在河边走_ 中级黑马   /  2013-9-15 11:41  /  844 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道类加载器是负责加载所有的类的, 同一个类只能被加载一次。我想问, 怎么样才算是同一个类, 假如我修改了一个类里面的代码, 这个类已经被加载过了,那还会加载吗?
类什么时候才会被加载?  被加载的条件是什么?

评分

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

查看全部评分

2 个回复

倒序浏览
1.类加载器的一个重要用途是在JVM中为相同名称的Java类创立隔离空间。 在JVM中, 判断两个类是否相同, 不仅是依据该类的二进制名称, 还需要依据两个类的定义类加载器。 只有两者完全一样, 才认为两个类的是相同的。 因此, 即便是异样的Java字节代码, 被两个不同的类加载器定义之后, 所失掉的Java类也是不同的。
2.类的加载过程是在程序运行期间完成的。虚拟机把描述类的数据从class文件加载到内存也就是把程序编译成class文件后进行加载。class类也就是加载条件。不知道说的对不清指正

评分

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

查看全部评分

回复 使用道具 举报
类加载就是把一个类的class文件读入JVM内存,修改类的源代码就相当于一个新的类,会重新编译class文件,当然会再次类加载;
类加载时机:第一次创建类对象,第一次使用类的静态成员,只是声明引用不会发生类加载
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马