根据Java 10 Specification草案 ,自公开审查以来已进行了一些更改,大部分与API有关。
从Java 10中删除的API
遵循增强的弃用功能建立的约定,在Java SE 9 Platform Specification( JSR 379 ) “建议删除的API”中为
forRemoval=true
注释了各种API,表明它们可以在将来的发行版中删除。
这些API至少从Java SE 1.2起就已被弃用,并已被较新的API取代。 因此,它们已从本规范中删除。
领域
方法
- java.lang.Runtime.getLocalizedInputStream(java.io.InputStream)
- java.lang.Runtime.getLocalizedOutputStream(java.io.OutputStream)
- java.lang.SecurityManager.classDepth(java.lang.String)
- java.lang.SecurityManager.classLoaderDepth()
- java.lang.SecurityManager.currentClassLoader()
- java.lang.SecurityManager.currentLoadedClass()
- java.lang.SecurityManager.getInCheck()
- java.lang.SecurityManager.inClass(java.lang.String)
- java.lang.SecurityManager.inClassLoader()
这些模块是由Java SE 9平台规范“建议删除的API”提出删除的 。 即使未从本规范中删除它们,也有资格在将来的版本中删除它们。
- java.activation
- java.corba
- java.se.ee (聚合器)
- java.transaction
- java.xml.bind
- java.xml.ws
- java.xml.ws.annotation
您可以在JEP 320中找到有关上述模块及其API的更多信息。 由于现在可以使用 API的独立版本及其实现,因此建议您立即迁移到独立版本。
说到Java EE模块,它们在Java 9中已被注释为 不推荐删除 ,这已经表明打算在将来的版本中删除它们(“未来版本”可能是Java 11)。 在此处阅读有关删除Java EE模块的更多信息。
这些API(仍然)可以在将来的版本中删除。
班级
方法
- java.lang.Runtime.runFinalizersOnExit
- java.lang.Runtime.traceInstructions
- java.lang.Runtime.traceMethodCalls
- java.lang.SecurityManager.checkAwtEventQueueAccess
- java.lang.SecurityManager.checkMemberAccess
- java.lang.SecurityManager.checkSystemClipboardAccess
- java.lang.SecurityManager.checkTopLevelWindow
- java.lang.System.runFinalizersOnExit
- java.lang.Thread.countStackFrames
- java.lang.Thread.destroy
- java.lang.Thread.stop
还请参见: 第一个JDK 10发行候选版本在这里
最后但并非最不重要的一点是,这些API在当前规范中使用forRemoval=true
注释为@Deprecated
。 因此,它们有资格在平台的将来版本中删除。
配套
介面
- java.security.acl.Acl
- java.security.acl.AclEntry
- java.security.acl.Group
- java.security.acl.Owner
- java.security.acl.Permission
班级
- java.security.Certificate
- java.security.Identity
- java.security.IdentityScope
- java.security.Signer
- javax.security.auth.Policy
例外情况
- java.security.acl.AclNotFoundException
- java.security.acl.LastOwnerException
- java.security.acl.NotOwnerException
领域
方法
- java.io.FileInputStream.finalize
- java.io.FileOutputStream.finalize
- java.util.zip.Deflater.finalize
- java.util.zip.Inflater.finalize
- java.util.zip.ZipFile.finalize
在API Specification的Deprecated API列表中了解有关弃用的更多信息。
在阅读本书时,请确保阅读Dustin Marx的博客文章 ,其中他探讨了一些 可能在JDK 10中删除 的API 和其他已建议在JDK 10中弃用 的API 。
翻译自: https://jaxenter.com/jdk-10-apis-going-away-141439.html