浅谈java垃圾回收机制

浅谈java垃圾回收机制

ID:3990583

大小:128.43 KB

页数:4页

时间:2017-11-26

浅谈java垃圾回收机制_第1页
浅谈java垃圾回收机制_第2页
浅谈java垃圾回收机制_第3页
浅谈java垃圾回收机制_第4页
资源描述:

《浅谈java垃圾回收机制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、维普资讯http://www.cqvip.comVo1.68No.4海淀走读大学学报2004年第4期December.2004HaidianUniversityJournal(总第68期)浅谈JAVA垃圾回收机制赵红丽(北京城市学院生物技术学部北京100094)摘要:垃圾回收机制是JAVA的主要特性之一,在对垃圾回收机制进行概述之后,本文从“失去引用”和“离开作用域”这两个角度分析了JAVA程序中的对象在何种条件下满足垃圾回收的要求。最后,本文简要介绍了垃圾回收机制的两个特性。关键词:JAVA;垃圾回收机制;离开作用域;失去引用;自动性;不可预期性中圈分类号:TP3

2、12文献标识码:A文章编号:1008—4851(2004)一04—0100—04作为一种适应于Intemet计算环境、面向对程时,程序员不仅要考虑如何实现算法以满足应象并具有平台无关性的编程语言,JAVA早已确用,还要花费许多精力考虑合理使用内存避免系立了在IT界的地位,并因网络日益广泛的应用统崩溃。而变得越来越重要。因此,在高校中JAVA也逐针对这种情况,JA、语言建立了垃圾回收渐受到更多教师和学生的重视。机制。JA、是纯粹的面向对象的编程语言。其实际上,JAVA源自C++语言。但JAVA程序以类为单位。程序运行期间会在内存中创建语言避免了C++中晦涩的结构,成功

3、翻越了多很多类的对象。这些对象在完成任务之后,JA、,A重继承机制的恼人问题;JAVA的垃圾回收机制的垃圾回收机制会自动释放这些对象所占用的空显著地提高了生产率。降低了复杂度;在网络背间,使回收的内存能被再次利用,提高程序的运景下使用虚拟机,以及有关安全性和动态加载的行效率。垃圾回收不仅可以提高系统的可靠性、一系列设计选择,迎合了正在出现的需求和愿使内存管理与类接口设计分离,还可以使开发者望。这些特性使Java不仅成为现有程序员的武减少了跟踪内存管理错误的时间。从而把程序员器。而且也为新的程序员创造了繁荣的市场空从手工回收内存空间的繁重工作中解脱出来。间。在JAVA

4、语言的上述特性中,本文主要分析JAVA垃圾回收机制另一个特点是,进行垃其垃圾回收机制。圾回收的线程是一种低优先级的线程。在一个Java程序的生命周期中,它只有在内存空闲的时一、JAVA垃圾回收机制概述候才有机会运行。在VB、C++等某些程序设计语言中,无下面本文从“对象的失去引用”和“对象离论是对象还是动态配置的资源或内存,都必须由开作用域”这两个方面进行分析,探讨JA、,A程程序员自行声明产生和回收,否则其中的资源将序中的对象什么时候可以被当作垃圾来进行回收。不断消耗,造成资源的浪费甚至死机。由于要预二、对象的失去引用先确定占用的内存空间是否应该被回收是非常困难的

5、。这就导致手工回收内存往往是一项复杂而通过下面的一段JAVA程序(例1),我们艰巨的工作。因此,当使用这些程序设计语言编可以讨论程序中的对象是否已经符合垃圾回收的收稿日期:2004年9月20日作者筒介:赵红丽:北京城市学院生物技术学部,讲师维普资讯http://www.cqvip.com浅谈JAVA垃圾回收机制-101-条件。请注意,我们只是讨论某个对象是否符合15.computer3null;被回收的条件,这并不意味着该对象将被立即回16.System.out.println(“computer3所指收,关于这一点,本文后面还将进一步说明。向的对象可以被当作垃圾回

6、收”);例1:17.computerl=null;1.classComputer{}18.System.out.println(“computerl所指2.publicclassGarbageCollector{向的对象不能被当作垃圾回收”);3.ComputermakeComputer(){19.}4.ComputertempComputer=newComput—20.}er();在继续讨论之前,我们首先回顾JAVA的两5.returntempComputer;个基本概念——引用和对象。引用类似于其它程6.}序设计语言中的指针。引用就象一个商标标签或7.publi

7、cstaticdmain(Stringargs[]){者指示牌,它上面写着物品的名称,比如“电8.GarbageCoUectort=newGarbageCollec—脑”,可是它并不是电脑。当把这个标签贴到电tot();脑上后,标签与电脑就联系起来,它就代表电脑9.ComputernewComputer=t.makeCom—了。因此Computercomputerl=newComputerputer();();可理解为先创建一个对象的标签computerl,10.System.out.println(“tempComputer然后把标签贴到新创建的对象Compu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。