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终结器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node 安装_VUE项目迁移之node.js的安装

【摘要】由于公司的项目需要迁移到VUE中去, 所以就用到了node.js, 这里简单整理了一下node.js的安装教程和环境变量的配置【作者】田鋆鹏Node.js 安装教程1. 在node.js的官网下载安装包下载地址1: https://nodejs.org/en/下载地址2: http://nodejs.cn/直接下载.msi的安装包即可…

jsp mysql servlet_JSP+Servlet+JDBC+mysql实现的学生成绩管理系统

本系统基于JSPServletMysql一个基于JSPServletJdbc的学生成绩管理系统。涉及技术少,易于理解,适合JavaWeb初学者学习使用。难度等级:入门技术栈编辑器Eclipse Version: 2019-12 (4.14.0)前端技术基础:htmlcssJavaScript框架&#…

IntelliJ IDEA for Mac 彻底卸载/彻底删除

删除 /Users/liaowenxiong/Library/Logs/目录下所有与 IntelliJ IDEA 相关的文件: cd /Users/liaowenxiong/Library/Logs/ rm -rf *intellij* rm -rf *IntelliJ* rm -rf *JetBrains* rm -rf *jetbrains*删除 /Users/liaowenxiong/Library/Preferences/目录下所有与…

春天猫rtsy_春天重试,因为冬天来了

春天猫rtsy好的,这实际上与冬天无关,众所周知,冬天已经到了 。 它与Spring Retry有关,Spring Retry是一个小的Spring框架库,它使我们可以向应重试的任何任务添加重试功能。 这里有一个很好的教程 ,解释了如…

mariadb mysql 配置文件_MariaDB/MySQL配置文件my.cnf解读

MariaDB/MySQL的默认设置性能非常差,仅仅起一个功能测试的作用,不能用在生产环境中,因此要对一些参数进行调整优化。当然,对配置文件各参数的调整需要根据实际环境,不同时期不同数量级的数据进行性能优化。MySQL/Maria…

python字符串合并去重_015day--python集合和字符串

一、集合关系测试交集: 两个都有 .intersettion() 或用 & 符号差集: 列表a有,列表b没有 .difference() 或用 - 符号并集: 两列表合并,去重 .union() 或用 | 符号合并: .update() 会更改数据…

IntelliJ IDEA for Mac如何存取自定义快捷键配置文件

IntelliJ IDEA for Mac自定义的快捷键配置文件在以下的目录中: /Users/liaowenxiong/library/application support/JetBrains/IntelliJIdea2020.3/keymaps

react 事件处理_在React中处理事件

react 事件处理在使用React渲染RESTful服务后,我们创建了简单的UI,用于渲染从RESTful服务获取的员工列表。 作为本文的一部分,我们将扩展同一应用程序以支持添加和删除员工操作。 我们将通过添加/删除员工操作来更新react-app后端api&#x…

linux mysql 分区_Linux :linux磁盘分区(普通分区2T以内),安装免安装版mysql(tar.gz)...

1关闭防火墙:(依次运行 停止-->禁用)Centos7使用firewalld:启动:systemctl start firewalld查看状态:systemctl status firewalld停止:systemctl disable firewalld禁用:systemctl stop firewalld2官网下…

python 3d大数据可视化软件_十大顶级大数据可视化工具推荐

要使数据分析真正有价值和有洞察力,就需要高质量的可视化工具。市场上有很多产品,特点和价格各不相同,本文列出了一些广泛认可的工具。其实企业如何选择一个合适的可视化工具,并不是一件容易的事情,需要仔细的考虑。据…

IntelliJ IDEA 配置文件位置

1 IDEA 2020.1 以上 1.1 Win 语法&#xff1a; %APPDATA%\JetBrains\<product><version>Win上的APPDATA默认位置如下&#xff1a; C:\Users\用户名\AppData\Roaming例子&#xff1a; C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2020.11.2 MacOS …

mysql 中间表的好处_Mysql中使用中间表提高统计查询速度

对于数据量较大的表&#xff0c;在其上进行统计查询通常会效率很低&#xff0c;并且还要考虑统计查询是否会对在线的应用产生负面影响。通常在这种情况下&#xff0c;使用中间表可以提高统计查询的效率&#xff0c;下面通过对session 表的统计来介绍中间表的使用&#xff1a;(1…

junit 5测试异常处理_使用JUnit 5测试异常

junit 5测试异常处理JUnit 5带来了令人敬畏的改进&#xff0c;并且与以前的版本有很大不同。 JUnit 5在运行时需要Java 8&#xff0c;因此Lambda表达式可以在测试中使用&#xff0c;尤其是在断言中。 这些断言之一非常适合测试异常。 设置项目 为了演示JUnit 5的用法&#xff…

多元回归求解 机器学习_金融领域里的机器学习算法介绍:人工神经网络

人工智能的发展在很大程度上是由神经网络、深度学习和强化学习推动的。这些复杂的算法可以解决高度复杂的机器学习任务&#xff0c;如图像分类、人脸识别、语音识别和自然语言处理等。这些复杂任务一般是非线性的&#xff0c;同时包含着大量的特征输入。我们下面我们将分几天的…

百度网盘不限速被限速_基本API限速

百度网盘不限速被限速您可能正在开发某种形式的&#xff08;Web / RESTful&#xff09;API&#xff0c;并且如果它是面向公众的&#xff08;甚至是内部的&#xff09;&#xff0c;则通常需要以某种方式对其进行速率限制。 即&#xff0c;限制一段时间内执行的请求数&#xff0c…

mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢

一条 SQL 查询语句执行的很慢&#xff0c;那是每次查询都很慢呢&#xff1f;还是大多数情况下是正常的&#xff0c;偶尔出现很慢呢&#xff1f;可以分以下两种情况来讨论。大多数情况是正常的&#xff0c;只是偶尔会出现很慢的情况。在数据量不变的情况下&#xff0c;这条SQL语…

MacBook Air如何清理缓存

方法一&#xff1a;使用热键 AltCmdRP电源键这是清理缓存热键。 用法&#xff1a;先按住前4个键&#xff0c;然后按一次电源键&#xff0c;前四个键不松开&#xff0c;等到听到电脑第四次开机音效后可以松开&#xff0c;开机音效共有五次&#xff0c;然后电脑自动开机 方法二&…

apache ignite_使用Spring Data的Apache Ignite

apache igniteSpring Data提供了一种统一而简便的方法来访问不同类型的持久性存储&#xff0c;关系数据库系统和NoSQL数据存储。 它位于JPA之上&#xff0c;添加了另一层抽象并定义了基于标准的设计以在Spring上下文中支持持久层。 Apache Ignite IgniteRepository实现了Spri…

centos 7 mysql随机密码_在centos中安装了mysql5.7之后解决不知道随机的密码的问题...

在安装完成mysql5.7 之后&#xff0c;发现密码不知道。不要紧&#xff0c;直接重置密码。1.修改配置文件my.cfg[rootlocalhost ~]# vi /etc/my.cnf找到mysqld在之后添加skip-grant-tables保存退出2. 重启mysql服务service mysqld restart3.直接登陆mysql而不需要密码mysql -u…

python单用户登录_Django实现单用户登录的方法示例

最近由于要毕业了写论文做毕设&#xff0c;然后还在实习发现已经好久都没有写博客了。今天由于工作需求&#xff0c;需要用Django实现单用户登录。大概意思就是跟QQ一样的效果&#xff0c;每个账号只能一个地方登录使用&#xff0c;限制账号的登录次数。由于用的是Django自带的…