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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱皓 中级黑马   /  2012-2-23 16:18  /  6480 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个类被加载后什么时候被销毁,难道非得是程序结束时才被销毁吗

评分

参与人数 1技术分 +2 收起 理由
admin + 2 有新意的问题

查看全部评分

7 个回复

倒序浏览
类会在下面三种情况下被加载
第一:生成该类对象的时候,会加载该类及该类的所有父类;
第二:访问该类的静态成员的时候;
第三:class.forName("类名");
而毁灭应该是在程序中没有对它的引用时,由垃圾回收器处理的。

评分

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

查看全部评分

回复 使用道具 举报
在程序中没有对它引用的时候,就垃圾回收机制处理,java虚拟机自己会处理。如果你想自己结束的话,可以赋null给类。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 概念上都没搞清楚

查看全部评分

回复 使用道具 举报
销毁对象,java有很好的垃圾回收机制。
当对象在内存中没有对应的地址是,如吧null赋给对象;或者对象超出作用范围时对象会被回收。
当然你也可以用System.gc方法强制启动垃圾回收器,java垃圾回收机制已十分完善,这种方法一般用不到。

评分

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

查看全部评分

回复 使用道具 举报
1、所有引用不存在的时候
2、gc
回复 使用道具 举报
在没有任何引用的时候就会被销毁!
回复 使用道具 举报
当没有引用而被垃圾回收站处理 说的是对象不是类。
类被加载后,它的生命周期取决于类加载器。如果换了一个类加载器,这个类会被重新加载,相对应的,类中的static也会重新初始化。不过这种情况,对大部分人来讲,在平时写代码的时候,不会碰到,所以如果搞不清楚,那就直接理解成一直存在,知道应用程序结束。
回复 使用道具 举报
java中的对象是由java自动销毁的
(1)当对象不存在引用时,它就会被java自动销毁。
(2)System.gc()
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马