
这是一个非常激烈的举动。Finalize就在Object类中定义,在Java层次结构的顶端,比公共变量更公开。但是finalize方法的语义与JVM臭名昭著的垃圾收集器绑定在一起。20年前设计API的人没有人会想到,在声明了finalize方法20年后,垃圾收集器的垃圾收集模式仍然是完全不可预测的;如果他们这么做了,他们一开始就不会对其进行编码。沐鸣:
finalize方法必须终止,因为依赖JVM的gc系统并随后将功能与POJO的终止绑定是基于字节码的恶意行为。因此,在不久的将来的版本中,将会在最终的方法上添加一个@deprecated注释。这到底是什么意思呢?在Java世界中,它的意义非常小。
不能简单地停止调用不推荐的Java方法
不能简单地停止调用不推荐的Java方法
隐藏Java方法弃用问题
在Java中有很多不推荐的方法,没有什么可以阻止您调用它们。当然,在您的Eclipse或NetBeans IDE的行号栏中可能会出现一个黄色的yield符号,警告您正在调用Java的一个不推荐使用的方法,但仅此而已。解决这个问题的一个简单方法是进入IDE的preferences窗口,告诉它不要报告对已弃用方法的调用。只要执行快速更改,也许还需要重新构建,那么所有不赞成使用的方法警告都将消失。
另一种方法是使用@SuppressWarnings(“deprecation”)注释来装饰您编写的代码。这是另一种消除弃用问题的简单方法。沐鸣注册
解决了Java方法的弃用问题
对于那些管理Jenkins构建的人,在编译器级别上,您可以使用-Xlint:all switch on编译器来阻止您在Gradle或Maven构建期间看到关于不推荐的方法调用的警告。确实,有很多方法可以处理废弃的方法;这些只是一些比较常见的
当然,有些人可能会认为正确的方法是停止调用不推荐的方法。也许在10年或15年前,当一个弃用警告让开发人员感觉时钟在滴答作响,当计时器耗尽时,他们的代码将不再工作。如果不赞成使用的方法被从Java SE api套件中删除,这是正确的,但它们永远不会被删除。
我仍然看到用户调用已弃用的java.util.Date()构造函数。我参与的上一个项目充满了对已弃用的urlencode .encode()的调用。当然,人们不应该调用Java的过时方法,但是考虑到它们可以工作的事实,再加上它们在被弃用15到20年后仍然作为API的一部分存在,开发人员只是继续使用它们。简单地告诉开发人员“跟上程序”显然是不够的。沐鸣娱乐怎么样?