ImageVerifierCode 换一换
格式:DOC , 页数:2 ,大小:27.50KB ,
资源ID:2991112      下载积分:150 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2991112.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA中销毁一个对象的方法.doc)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

JAVA中销毁一个对象的方法.doc

1、方法一:垃圾回收器垃圾回收器是 Java 平台中用的最频繁的一种对象销毁方法。垃圾回收器会全程侦测 Java应用程序的运行情况。当反先有些对象成为垃圾时,垃圾回收器就会销毁这些对象,并开释这些对象所占用的内存空间。在这里,程序开发职员需要知道,在哪些情况下垃圾回收器会以为这些对象是垃圾对象。通常情况下,如果发生以下两种情况时,系统会以为这些对象是垃圾对象,需要销毁。一是将一个 NULL 值赋值给对象。如用户先建立了一个对象 str1。对象用完了之后,再利用赋值语句,将 NULL 值赋值给这个对象 str1,即使用 str1=NULL 的方式将 NULL 值赋值给这个对象。此时这个对象与内存中对

2、象的存储地址之间就失往了联系。此时内存中的对象就似乎成为了一个无主的对象,就会被垃圾回收器销毁。不过这也有例外。如现在同一个对象有两个名字,分别为 str1 与 str2。此时若只是将 NULL 值赋值给 str1,那么内存的这个对象仍然有一个主人,即 str2。此时这个对象还暂时不会被垃圾回收器回收。除非在代码中讲这个对象所关联的所有对象名字都赋值为 NULL。此时这个对象才变为无主的对象,才会被垃圾回收器回收。在 Java 中定义自己的工具库二是对象其超出了作用范围,这个这个对象就被以为是垃圾对象,被被垃圾回收器回收并开释内存。实在对象跟变量一样,其也有作用域。当超过这个作用域的话,跟变量

3、一样,这个对象也就无效了,其他地方不能够再引用这个对象。此时这个对象就是名存实亡了。为此垃圾回收器也把这种超过作用范围的对象当作垃圾对象来处理。所以说,假如程序员要让对象中的某些成员变量或者成员方法一直有效的话,就需要采用 static 关键字,让其在变量销毁时仍然有效,或则仍然可以调用这些成员变量与成员方法。方法二:finalize 方法固然说垃圾回收器已经是一个比较完善的对象销毁机制,但是其并不能够解决 Java 语言中所有对象的销毁题目。如 Java 语言平台中,创建对象主要有两种方式,分别为利用 NEW关键字来创建(这是对象创建的主要方式 )与不适利用 NEW 关键字来创建。假如 Ja

4、va 语言中某些对象不是利用 new 关键字为对象在内存中分配一块存储区域,那么这种类型的对象就不能够被垃圾回收站回收。即使在代码中将 NULL 值赋值给这个对象,仍然不能够被垃圾回收器回收。固然这种对象比较少,但是究竟存在。为了解决这类对象的回收与内存开释题目,在 Java 语言中提供了一个 finalize 的方法。通过这个方法可以显示的让系统回收这个对象。这是一个 Object 类的方法。通常情况下,这个方法是被声明为 protected。程序开发职员在必要的时候,可以在自定的类中定义这个方法。假设现在程序开发职员定义了这个方法,那么在对象销毁时,垃圾回收器会先采用这个方法来销毁对象。并

5、且在下一次垃圾回收动作发生时,终极开释对象的内存。可见,采用了 finalize 方法,固然可以让这个对象被垃圾回收器回收,但是其原理是不同的。垃圾回收器是先调用这个方法,然后在下次运行这个垃圾回收作业时再开释其占用的内存。另外需要留意的是,这个方法并不一定会保证发生。也就是说,相对来讲,其安全性并没有垃圾回收器那么的高。故在实际创建对象时,最好还是采用 new 关键字来创建比较安全,也更加的方便。由于在利用 New 关键字来创建对象时,在代码中不需要加进另外额外的代码。所以从安全性与便利性上来说,笔者都建议采用 new 方法为对象在内存中分配存储区域,而不建议采用其他的方式。在采用垃圾回收器

6、的时候,其会自动检测对象的状态,而不需要程序员告知。其发现对象超出了作业域范围或者对象被重置为空时,其就会被自动销毁并开释对象所占用的内存,这种方式处理起来相对来说更加的安全与便利。方法三:利用 System.gc 方法强制启动垃圾回收器垃圾回收器实在自动启动的。也就是说,垃圾回收机制起会自动监测垃圾对象,并在适当的时候启动垃圾回收器来销毁对象,开释内存。但是这个垃圾回收器也会有分歧作的时候。也就是说,这个垃圾回收器不受程序代码的控制,其具体执行的时间也会不确定,从而导致上面的 finalize 方法无法执行,某些对象无法及时销毁。为此有时候需要利用代码来强制启动垃圾回收器,来销毁对象。笔者平

7、时在给一些学员培训时,往往将这个垃圾回收器比喻成医院里的*。平时的时候,*会每隔一段时间来进行查房,看看病人有没有什么题目。不过在必要的时候,病人也可以通过警铃来呼唤*。如当盐水挂完了就可以要求*来更换盐水。实在这个*定期查房就似乎是垃圾回收器会根据应用程序的运行情况来定时的或者不定时的启动。而这个警铃就似乎是这个 System.go 方法。在有需要的时候,程序开发职员可以在代码中调用这个方法,来强制让*来病房,即强制启动这个垃圾回收器。采用这个方法,给程序开发职员多了一种主动权,而不需要被动的等着垃圾回收器的启用。有时候,在代码种类利用这个方法不定期或者定期的强制启动垃圾回收器,对及时销毁垃圾对象能够起到一个辅助与保障作用。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。