java中的修饰词及其含义_Java 9最终将给出“已弃用”一词的含义

我不确定我是否会独自一个人,但是在我看来,对finalize方法的弃用似乎已经给了太多压力。 我不记得对方法弃用这么热衷,因为他们将java.util.Date()构造函数列入了黑名单,并告诉所有人开始改用GregorianCalendar。

java中的修饰词及其含义_Java 9最终将给出“已弃用”一词的含义

一个不只是停止调用不推荐使用的方法

赋予术语“已弃用”的含义

每当过时的Java方法成为新闻时,我总是喜欢用语言来讨神,因为即使过时了方法,底层代码也从未真正从API中删除,因此,懒惰的开发人员只会继续使用它,过时警告该死的。

TheServerSide先前关于过时的贬义没有任何意义

在最近的一篇题为Deprecation of Object.finalize()的博客文章中,Oracle技术人员负责人Stuart Marks不仅在Java 9中弃用了哪些内容,而且在API中实际上删除了哪些不赞成使用的方法,从而刷新了记录。 以下是他文章的相关摘录:

Java SE 8中不推荐使用以下六个API,它们已从Java SE 9中删除:

  1. java.util.jar.Pack200.Packer.addPropertyChangeListener
  2. java.util.jar.Pack200.Unpacker.addPropertyChangeListener
  3. java.util.logging.LogManager.addPropertyChangeListener
  4. java.util.jar.Pack200.Packer.removePropertyChangeListener
  5. java.util.jar.Pack200.Unpacker.removePropertyChangeListener
  6. java.util.logging.LogManager.removePropertyChangeListener

另外,在Java SE 9中,不推荐使用forRemoval = true弃用大约20种方法和6个模块,这表明我们打算从下一个主要的Java SE版本中删除它们。 一些要删除的类和方法包括:

  • java.lang.Compiler
  • 线程破坏
  • System.runFinalizersOnExit
  • Thread.stop(可抛出)

不建议删除的模块如下:

  1. java.activation
  2. java.corba
  3. java.transaction
  4. java.xml.bind
  5. java.xml.ws
  6. java.xml.ws.annotation

所以,是的,我们正在认真考虑删除内容!

不建议使用的值 != 建议 使用的含义

所以我想这会让我闭嘴一段时间。 他们正在努力修剪API并摆脱不推荐使用的方法。 我要问的是,它们不会修剪掉不推荐使用的java.util.Date构造函数。 我仍在编写使用它的代码。

您可以在Twitter上关注Stuart Marks: @stuartmarks
您也可以关注Cameron McKenzie: @cameronmckenzie

翻译自: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Java-9-will-finally-give-the-term-deprecated-meaning