java终结器

JDK-8165641 (“ Deprecate Object.finalize”)已打开,以“ deprecate Object.finalize() ”,因为“ finalizer本质上存在问题,使用finalizer可能会导致性能问题,死锁,挂起和其他问题行为”,并且因为“终结的时间无法预测,无法保证将调用终结器。” 我最近在Java的Finalizer仍然存在的文章中体验并写了使用Object.finalize()一些令人讨厌的后果。

在消息RFR 9:8165641:Deprecate Object.finalize中 ,Roger Riggs邀请对与此问题相关的更改进行回顾和评论[150行,其中包括在java.lang.Object.finalize()添加@Deprecated以及许多附加功能当前JDK类的Object.finalize()方法实现上的@SuppressWarnings(“ deprecation”)批注]。

建议为Object.finalize()方法添加Javadoc @deprecated文本,以重述JDK-8165641和Roger Riggs消息中包含的描述性信息。 这包括为“实例拥有非堆资源的类”“适当地实现java.lang.AutoCloseable”的建议,以及“提供一种显式释放那些资源的方法”的建议。 描述性信息还指出:“ {@link java.lang.ref.Cleaner }和{@link java.lang.ref.PhantomReference }提供了一种更灵活,更有效的方法来在对象变得不可访问时释放资源。” 有关JDK 9引入的java.lang.ref.Cleaner的更多背景信息,请参见JDK-8138696 。 自从不赞成使用方法[ @Deprecated(since="9") ] @Deprecated(since="9")Object.finalize()的弃用包括增强的@Deprecated注释,以声明状态。

尽管建议的弃用Object.finalize()不会删除使用Java终结器的功能或减少其任何潜在的负面影响,但它至少会提供关于使用该方法的风险的更加明显的警告,并且当前已记录,提供了更好的潜在替代方案。

翻译自: https://www.javacodegeeks.com/2017/03/deprecating-javas-finalizer.html

java终结器

java终结器_弃用Java的终结器相关推荐

  1. linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)

    原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...

  2. java web 截图_如何以Java实现网页截图技术

    今天看到某网友关于"如何以Java实现网页截图技术"的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答. 事实上,如果您想以Java实现网页截图,也就是" ...

  3. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

  4. java编写代理服务器_如何编写Java代理

    java编写代理服务器 对于vmlens (轻量级Java竞争条件捕获器),我们使用Java代理来跟踪字段访问. 这是我们学习的实现此类代理的经验教训. 开始 使用"静态公共静态无效值pre ...

  5. java 事件通知_正确获取Java事件通知

    java 事件通知 实现观察者模式以提供Java事件通知似乎是一件容易的事. 但是,容易陷入一些陷阱. 这是我在各种场合不慎造成的常见错误的解释-- Java事件通知 让我们从一个简单的bean St ...

  6. java ssh客户端_简单的Java SSH客户端

    java ssh客户端 可以使用jcabi-ssh在Java中通过几行代码通过SSH执行shell命令: String hello = new Shell.Plain(new SSH("ss ...

  7. java桌面版_长大了Java! 提出Java桌面版

    java桌面版 不,这不是另一个" Java已死"的咆哮. Java非常活跃. 它是可用的最佳开发和运行时平台之一. 迄今为止,最稳定的平台. 那可能只是它最大的祸根. 荒谬! 稳 ...

  8. java 委托原则_为什么说 Java SPI 的设计违反双亲委派原则

    一.双亲委派模型 1.类加载器可以细分为如下三类 启动类加载器(Bootstrap ClassLoader),负责将所有存放在\lib目录中的,或者被-Xbootclasspath参数所指定路径中,并 ...

  9. java 时区处理_如何使用Java处理日历时区?

    如何使用Java处理日历时区? 我有一个来自我的应用程序的Timestamp值. 用户可以在任何给定的本地TimeZone中. 由于此日期用于假定给定时间始终为GMT的WebService,因此我需要 ...

最新文章

  1. 终结谷歌AutoML的真正杀手!Saleforce开源TransmogrifAI
  2. struts 2 拦截器
  3. 数据库mysql是什么?win10如何安装使用mysql?
  4. TypeScript里get属性的实现
  5. php 测试控制器,php – 控制器的Laravel单元测试
  6. python查看pypi第三方库可安装的全部版本
  7. 50 - 算法 -二叉树 - 递归 - LeetCode 101
  8. Python按位异或运算符^应用案例一则:查找只出现一次的数字
  9. Python脚本生成单个EXE文件
  10. CVPR学习(六):CVPR2019-目标跟踪
  11. 手机自动化测试:appium源码分析之bootstrap五 上
  12. Mockplus黑色星期五和网络星期一特惠
  13. QEMU新的-nic选项
  14. java 163邮箱发邮件_java用163邮箱发邮件的方式,步骤有哪些?
  15. 二、伊森商城 环境 虚拟机配置 p3
  16. 用ElementUI 的布局容器,消除页头距离顶部的间隙
  17. 【Docker】Docker常用命令
  18. 【LB】稀疏矩阵的快速转置原理及其算法
  19. 2D中小游戏开发C++游戏教程
  20. java FileInputStream(输入流)

热门文章

  1. [COCI] Zamjena
  2. Loj#3130-「COCI 2018.12」Praktični【线性基】
  3. CF1416E-Split【dp,set】
  4. P4929-[模板]舞蹈链(DLX)
  5. P5895-[IOI2013]dreaming梦想【树的直径,结论】
  6. CF735D-Taxes【数学,数论】
  7. ssl2348-连接格点【图论,最小生成树,并查集】
  8. 2021牛客暑期多校训练营7 J-xay loves Floyd(最短路+bitset优化集合交)
  9. 一文带你了解Java Agent
  10. Java IO: 并发IO