ITPub博客

首页 > > > [Java] 新版本的Java将会废弃Object.finalize(),并添加新的java.lang.ref.Cleaner

[Java] 新版本的Java将会废弃Object.finalize(),并添加新的java.lang.ref.Cleaner

作者:格伯纳 时间:2017-03-11 09:50:22 0 删除 编辑
下面这俩RFE相映成趣:

结合这个讨论串来看更美味:RFR 9: 8165641 : Deprecate Object.finalize

以后新学Java的同学大概可以少为学习finalizer的用法而痛苦了。嗯不,是换成“如何使用java.lang.ref.Cleaner”而痛苦(逃

顺带一提,这个新的 java.lang.ref.Cleaner 其实是以前的 sun.misc.Cleaner 的公有API移植版。对后者比较熟悉的同学应该会见过它在 DirectByteBuffer 等实现中的用法。

Cleaner 是基于 PhantomReference 的,所以不会像finalizer那样有复活对象的机会,所以坑会比finalizer稍微少一点。嗯稍微少一点…

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    983857