从Java 10中删除的API
在博客文章“ JDK 10 Release Candidate Phase ”中,我研究了JDK 10可能包含的十二個新功能。 在本文中,我介紹了一些可能會在JDK 10中刪除的API,并探討了一些在JDK 10中建議棄用的API。本文中的信息基于當前版本(2018/1 / “ Java SE 10(18.3)(JSR 383)建議的最終草案規范 – DRAFT ”的31 19:49 -0800 [a337d4f5aa79]),并且由于此源文檔是草案,因此本信息可能會發生更改。
JDK 9 增強的棄用功能( JEP 277 )允許使用@Deprecated的新可選的forRemoval()元素設置為true來注釋多個JDK API,這表明“注釋的API”已指定在將來的版本中刪除。 ” 下列API已應用此已棄用的增強功能,并在JDK 9中標記為“在將來的版本中刪除”,現在JDK 10似乎是將其刪除的版本。
- “刪除最終不贊成使用的方法Runtime.getLocalized {Input,Output} Stream”( JDK-8193162 )
- java.lang.Runtime.getLocalizedInputStream(java.io.InputStream) (從JDK 1.1開始不推薦使用)
- “刪除不建議使用的1.2之前的SecurityManager方法和字段”( JDK-8189750 )
- java.lang.SecurityManager.classDepth(java.lang.String) (從JDK 1.2開始不推薦使用)
按照當前的建議,JDK 10將為可選的注釋元素forRemoval=true到一些以前不推薦使用的[ @Deprecated ] API元素,而這些API元素以前沒有設置forRemoval 。 這些包括與安全相關的接口,類和異常,這些接口,類和異常已被其他與安全相關的構造所取代(許多早在JDK 1.2中就已被替換)。 幾種“ finalize” @Deprecated方法還增強了@Deprecated注釋,以指示從JDK 10開始,它們“已指定在將來的版本中刪除”。 例如, JDK 9中已棄用 FileInputStream.finalize() ,但自JDK 10起 ,它將用forRemoval=true 標記 。
很長時間以來(自JDK 1.2或更早版本開始),不推薦使用JDK 10中要刪除的大多數JDK API構造,因此有足夠的時間來替換這些構造。 在JDK 10中新表示的要在將來的版本中刪除的大多數JDK API構造已被棄用,此更改僅表示它們現在很可能在將來的版本中刪除。 JDK 9引入的增強的棄用機制使JDK API在通過@Deprecated批注的forRemoval=true元素預先通告了可能的刪除之后,可以更積極地刪除這些結構。 JDK 9刪除了幾項內容 ,并且似乎JDK 10可能會繼續刪除某些先前不推薦使用的API元素。
翻譯自: https://www.javacodegeeks.com/2018/02/apis-removed-java-10.html
總結
以上是生活随笔為你收集整理的从Java 10中删除的API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 您将在下一个项目中使用JSF吗?
- 下一篇: update se_Java SE 7