`
mazhongjia
  • 浏览: 26203 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

终结函数守卫者

 
阅读更多

1.引入:之所以要使用这项技术是因为一个非final的公有类覆盖了来自Object的finalize()方法,此类被继承时在子类中如果同样的重写了finalize()方法时需要使用如下模式调用父类被覆盖的finalize()方法。

 

protected void finalize() throws Throwable {
		try{
			//do something for finalize
		}finally{
			super.finalize();
		}
	}

 

如果子类中忘记调用,则父类中资源将不能得到释放。(父类)要防范这种错误需要采用终结函数守卫者对象对其资源进行释放。

2.使用

为每一个将被终结的对象(非final公有类中有符合使用原本需继承Object中finalize()方法来释放资源的)创建一个附加的对象。不是把终结函数放在要求终结处理的类中,而是把终结函数放在一个匿名的内部类中,该匿名内部类唯一的用途是终结其外围实例。该匿名类的单个实例被称为终结函数守卫者,外围类的每一个实例都会创建这样的一个守卫者对象。外围实例在它的私有域中保存着一个对其守卫者的唯一引用,所以,终结函数守卫者与外围实例可以同时启动终结过程。当守卫者被终结的时候,它执行外围实例所期望的终结行为,就好像它的终结函数是外围对象上的一个方法一样。

 

public class Super {

	private final Object finalizeGuardian = new Object(){
		protected void finalize() throws Throwable {
			//do something for finalize Super object
		}
	};

 注意:公有类Super没有终结函数,所以其子类的终结函数是否调用super.finalize()并不重要,对于每一个带有终结函数的非final公有类,都应该考虑使用这项技术来取缔终结函数。

 

 注意:以上技术的使用是在可以使用finalize()来作为终结方法来使用的唯一两种情况下采用的替代技术,即:

1)作为完全网。(提供了释放资源的显示释放方法,但是防止忘记调用)

2)为了终止非关键的本地资源。(普通对象的本地对等体并不拥有关键资源的前提下)

 

 

 

 

分享到:
评论

相关推荐

    p2p 终结者 网管

    p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结...

    灰色按钮终结者 灰色按钮终结者

    灰色按钮终结者 灰色按钮终结者 灰色按钮终结者 灰色按钮终结者 灰色按钮终结者 灰色按钮终结者 灰色按钮终结者

    驱动防火墙终结者 驱动防火墙终结者

    驱动防火墙终结者 驱动驱动防火墙终结者 防火墙终结者 驱动防火墙终结者 驱动防火墙终结者

    P2P终结者+反P2P终结者

    标题中的“P2P终结者+反P2P终结者”指的是两个与网络管理相关的软件工具,一个是"P2P终结者",另一个是"反P2P终结者"。这两个工具在IT领域中有着特定的应用场景和功能。 P2P(Peer-to-Peer)终结者是一种网络流量...

    图标终结者ICO

    图标终结者

    易游还原终结者易游还原终结者易游还原终结者

    易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游...

    终结者2.2本地生成版+终结者完整金牌验证-源码

    【终结者2.2本地生成版】是一款针对软件授权验证技术的工具,它允许开发者在本地环境下生成软件的授权信息,以实现对软件使用的有效控制。这个版本的终结者主要聚焦于提供一种安全且便捷的方式来验证软件的合法性,...

    终结者木马专杀工具 终结者木马专杀工具

    终结者木马专杀工具 终结者木马专杀工具 终结者木马专杀工具终结者木马专杀工具终结者木马专杀工具 终结者木马专杀工具

    P2P终结者4.07

    【P2P终结者4.07】是一款在局域网环境下使用的控制软件,它的主要功能是对局域网内的网络流量进行管理和控制,尤其是针对P2P(Peer-to-Peer)下载应用,如BitTorrent、eMule等,能够有效地限制这些应用的带宽占用,...

    五子棋终结者2.0 五子棋终结者是一个计算机执黑必胜的五子棋小程序,严格地、完全地毯式地终结了自由规则下的五子棋!

    《五子棋终结者2.0:执黑必胜的智能策略分析》 五子棋,作为一项历史悠久的智力游戏,深受人们喜爱。然而,在计算机科学领域,将五子棋的策略转化为算法并实现计算机自动胜利并非易事。"五子棋终结者2.0"便是这样一...

    反p2p终结者 反p2p终结者破解版

    反p2p终结者 反p2p终结者破解版,实用!!!!!!!!

    p2p终结者4.26

    《P2P终结者4.26:网络流量管理利器》 P2P终结者4.26是一款专为网络管理设计的实用工具,尤其针对局域网环境中的带宽控制问题。它能够有效地抑制BT、电驴等P2P下载软件过度占用网络资源,从而确保网络的顺畅运行,...

    五子棋终结者2.20.b.exe

    五子棋终结者2.2(C)2006 ...五子棋终结者是一个自由规则下计算机执黑必胜的五子棋小程序。 悬赏提示: 五子棋终结者自2006年发布以来尚无人能击败计算机执黑,最先击败计算机执黑者可以向作者领取920000.00¥奖金!!

    终结者CMCC扫号器

    终结者CMCC扫号器

    搜狗浏览器广告终结者插件

    搜狗浏览器广告终结者插件,搜狗官方网站已经不能下载,双击打开点搜狗浏览器打开即可

    论坛终结者2.5.rar

    【论坛终结者2.5】是一款专为管理论坛而设计的高效工具,它集成了多种功能,旨在提升论坛运营效率并优化用户体验。这款软件适用于基于主流的论坛软件平台,如Discuz!、PHPWind等,旨在帮助管理员进行更便捷、更精细...

    p2p终结者4.03

    P2P终结者目前可以控制绝大部分流行的P2P软件下载,而且P2P终结者开发人员将持续跟踪最新的P2P下载技术的发展,在发现会对网络正常应用造成较大影响的网络下载技术时,会及时进行软件升级更新。 P2P终结者具有以下...

    P2P终结者 4.04P2P终结者 4.04P2P终结者 4.04

    《P2P终结者 4.04:网络流量管理利器》 P2P终结者,全称为"P2P Over Network",是一款针对局域网内的P2P流量进行管理和控制的软件。版本号4.04代表着该软件在经过多次迭代与优化后,其功能与性能已经相当成熟,为...

    p2p终结者 p2p终结者

    【描述】:“p2p终结者p2p终结者p2p终结者p2p终结者”重复的描述可能意味着该软件在多方面有应用,或者用于强调其在网络管理中的重要性。p2p终结者通常被网络管理员或家庭用户用来控制P2P下载,防止网络资源被过度...

    p2p终结者2.07

    所有P2P终结者的版权专属于作者 - Net.Soft Studio。 2. 任何人都可以在30天的评估期内使用这个软件。在30天的评估期限后,如 果你还想继续使用,您必须向软件开发商或供应商进行购买。 3. 对于使用P2P终结者...

Global site tag (gtag.js) - Google Analytics