Java是否支持RAII 确定性销毁?

Java是否支持RAII 确定性销毁?,第1张

Java是否支持RAII /确定性销毁

编辑:以下答案写于2009年初,当时Java 7仍在不断发展。

尽管Java仍未提供有关最终确定时间的保证,但它 确实 获得了类似C#

using
语句的功能:try-with-
resources语句


不,Java在这方面完全没有改变。您仍然需要使用try / finally。

已经讨论过在Java中添加等效的C#的“使用”语句(在try / finally上是语法糖),但是我认为这不再是Java
7的一部分。(大多数语言改进似乎已被放弃。)

值得理解的是,为什么没有在Java和.NET中以引用计数的垃圾收集器的形式实现确定性销毁,原因是-a)影响性能,b)循环引用失败。布莱恩·哈里(Brian
Harry)为此写了一封详细的电子邮件
-它是关于.NET的,它虽然很旧,但是值得仔细阅读。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5488712.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存