黑马程序员技术交流社区

标题: 【已解决】问一个静态生命周期的问题 [打印本页]

作者: 丰亚彬    时间: 2012-5-24 21:06
标题: 【已解决】问一个静态生命周期的问题
本帖最后由 丰亚彬 于 2012-5-25 11:26 编辑

今天在复习总结静态的时候,发现了一个疑惑,重新看了一遍视频发现老师果然没有给答案。静态成员是优先于对象存在的,随着类加载而加载,随着类消失而消失,我们知道对象如果没有句柄引用就会被虚拟机垃圾回收器清除,那么类什么时候从内存中消失呢?是程序结束还是虚拟机进程停止工作?
作者: 赵茹艳    时间: 2012-5-24 22:24
首先,程序结束和虚拟机进程停止工作是同一回事,其次,类和类的对象不是一回事,类是静态的,是全局的,在第一次被使用的时候被加载,直到程序结束才会结束。
作者: 赵茹艳    时间: 2012-5-24 22:24
直到程序结束才会被释放。
作者: 真真姐    时间: 2012-5-24 22:50
JAVA的程序的运行机制

我们写的每一个JAVA文件,在编译过后都以class文件的形式存在,在使用了一次之后,
class这个字节码文件就会被类加载器 classLoader加载进内存中,方便以后的重复使用

垃圾回收机制:一般回收的是我们不再使用的变量,对象等类的成分所占的内存
而这个class文件会一直保留到内存的运行结束!
作者: 丰亚彬    时间: 2012-5-25 11:17
杨国祯 发表于 2012-5-24 22:50
JAVA的程序的运行机制

我们写的每一个JAVA文件,在编译过后都以class文件的形式存在,在使用了一次之后,

恩,这回我明白了,毕老师视频里只说堆中对象的生命周期了,没说类的生命周期




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