java终结器_弃用Java的终结器
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的终结器相关推荐
- linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)
原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...
- java web 截图_如何以Java实现网页截图技术
今天看到某网友关于"如何以Java实现网页截图技术"的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答. 事实上,如果您想以Java实现网页截图,也就是" ...
- java编程学习方法_在线学习Java编程的最佳方法
java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...
- java编写代理服务器_如何编写Java代理
java编写代理服务器 对于vmlens (轻量级Java竞争条件捕获器),我们使用Java代理来跟踪字段访问. 这是我们学习的实现此类代理的经验教训. 开始 使用"静态公共静态无效值pre ...
- java 事件通知_正确获取Java事件通知
java 事件通知 实现观察者模式以提供Java事件通知似乎是一件容易的事. 但是,容易陷入一些陷阱. 这是我在各种场合不慎造成的常见错误的解释-- Java事件通知 让我们从一个简单的bean St ...
- java ssh客户端_简单的Java SSH客户端
java ssh客户端 可以使用jcabi-ssh在Java中通过几行代码通过SSH执行shell命令: String hello = new Shell.Plain(new SSH("ss ...
- java桌面版_长大了Java! 提出Java桌面版
java桌面版 不,这不是另一个" Java已死"的咆哮. Java非常活跃. 它是可用的最佳开发和运行时平台之一. 迄今为止,最稳定的平台. 那可能只是它最大的祸根. 荒谬! 稳 ...
- java 委托原则_为什么说 Java SPI 的设计违反双亲委派原则
一.双亲委派模型 1.类加载器可以细分为如下三类 启动类加载器(Bootstrap ClassLoader),负责将所有存放在\lib目录中的,或者被-Xbootclasspath参数所指定路径中,并 ...
- java 时区处理_如何使用Java处理日历时区?
如何使用Java处理日历时区? 我有一个来自我的应用程序的Timestamp值. 用户可以在任何给定的本地TimeZone中. 由于此日期用于假定给定时间始终为GMT的WebService,因此我需要 ...
最新文章
- 终结谷歌AutoML的真正杀手!Saleforce开源TransmogrifAI
- struts 2 拦截器
- 数据库mysql是什么?win10如何安装使用mysql?
- TypeScript里get属性的实现
- php 测试控制器,php – 控制器的Laravel单元测试
- python查看pypi第三方库可安装的全部版本
- 50 - 算法 -二叉树 - 递归 - LeetCode 101
- Python按位异或运算符^应用案例一则:查找只出现一次的数字
- Python脚本生成单个EXE文件
- CVPR学习(六):CVPR2019-目标跟踪
- 手机自动化测试:appium源码分析之bootstrap五 上
- Mockplus黑色星期五和网络星期一特惠
- QEMU新的-nic选项
- java 163邮箱发邮件_java用163邮箱发邮件的方式,步骤有哪些?
- 二、伊森商城 环境 虚拟机配置 p3
- 用ElementUI 的布局容器,消除页头距离顶部的间隙
- 【Docker】Docker常用命令
- 【LB】稀疏矩阵的快速转置原理及其算法
- 2D中小游戏开发C++游戏教程
- java FileInputStream(输入流)
热门文章
- [COCI] Zamjena
- Loj#3130-「COCI 2018.12」Praktični【线性基】
- CF1416E-Split【dp,set】
- P4929-[模板]舞蹈链(DLX)
- P5895-[IOI2013]dreaming梦想【树的直径,结论】
- CF735D-Taxes【数学,数论】
- ssl2348-连接格点【图论,最小生成树,并查集】
- 2021牛客暑期多校训练营7 J-xay loves Floyd(最短路+bitset优化集合交)
- 一文带你了解Java Agent
- Java IO: 并发IO