美文网首页
JDK11删除功能和选项

JDK11删除功能和选项

作者: kevin0016 | 来源:发表于2018-09-26 16:18 被阅读562次

删除功能和选项

本节介绍在Java SE 11和JDK

11中删除的API,功能和选项。此处描述的API是随Oracle JDK提供的API。 它包括Java SE 11平台的完整实现和其他Java API,以支持Java应用程序的开发,调试和监视。 关于Java SE 11和JDK 11中的重要增强功能和新功能的另一个信息来源是Java SE 11(18.9)(JSR 384)平台规范,该规范记录了Java SE 10和Java SE 11之间对规范的更改。本文档 包括已删除的API的标识和此处未描述的功能。 下面的描述还可能标识迁移到JDK 11时可能遇到的潜在兼容性问题。有关在JDK 11中关闭的CSR列表,请参阅已批准用于JDK 11的CSR。

client-libs

➜删除com.sun.awt.AWTUtilities类

在JDK 10(JDK-8187253)中,不推荐使用com.sun.awt.AWTUtilities类,而forRemoval = true。此类在JDK中未使用,已在此版本中删除。

client-libs/2d

➜从Oracle JDK中删除Lucida字体

Oracle JDK不再提供任何字体,完全依赖于操作系统上安装的字体。

这意味着来自JDK的应用程序不再提供Bigelow&Holmes Lucida系列(Lucida Sans,Lucida Bright和Lucida打字机)中的字体。

如果应用程序依赖于JDK中提供的字体,则可能需要更新它们。

如果系统管理员正在运行依赖于JDK中提供的字体而不是系统字体包的Java服务器应用程序,则在安装系统字体包之前,应用程序可能无法运行。

client-libs/java.awt

➜删除appletviewer启动器

appletviewer工具在JDK

9中已弃用(请参阅JDK-8074165),并在此版本中已删除。

client-libs/javax.imageio

➜OracleJDK的javax.imageio

JPEG插件不再支持带alpha的图像

以前,Oracle JDK使用广泛使用的IJG JPEG库的专有扩展来提供可选的色彩空间支持。这用于支持PhotoYCC和具有读取和写入的alpha分量的图像。 Oracle JDK 11中已删除此可选支持。除非先前由早期版本的Oracle JDK编码,否则不可能以任何这些格式遇到编码的JPEG图像。但是,如果遇到它们,解码现在将失败并出现异常。使用Alpha通道编写图像也会失败,但会出现异常。最可能出现问题的方案是不知道他们依赖这种支持的应用程序。如果直接调用ImageWriter或使用Image I / O便捷方法,则可能会失败并出现异常。 write()方法现在将返回false,这意味着它不会写入图像。

精心编写的应用程序应检查这些方案,这将缓解这种情况。请注意,OpenJDK从未拥有此可选的专有支持。它总是失败并在这些场景中生成异常。

有关不再支持的内容的详细信息,请参阅Java Image I / O JPEG元数据规范中的可选颜色空间支持:https://docs.oracle.com/javase/10/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata.html#color

core-libs

➜删除sun.misc.Unsafe.defineClass

sun.misc.Unsafe.defineClass类已被删除。 用户应该使用Java SE 9中添加的公共替换java.lang.invoke.MethodHandles.Lookup.defineClass。有关更多详细信息,请参阅Java文档:

https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/MethodHandles.Lookup.html#defineClass-byte:A-

core-libs/java.lang

➜删除Thread.destroy()和Thread.stop(Throwable)方法

Thread.destroy()和Thread.stop(Throwable)方法已被删除。 它们已被弃用于多个Java SE版本。从未实现Thread.destroy()方法,并且自Java SE 8以来Thread.stop(Throwable)方法一直无法运行。没有代码应该依赖于这两种方法的行为; 但是,任何使用这些方法的代码都会导致编译错误。 缓解是从源代码中删除对这些方法的引用。 请注意,无参数方法Thread.stop()不受此更改的影响。

core-libs/java.nio

➜删除sun.nio.ch.disableSystemWideOverlappingFileLockCheck属性

属性sun.nio.ch.disableSystemWideOverlappingFileLockCheck已被删除。因此,也消除了与旧锁定方法的兼容性。

JDK 6引入了系统属性sun.nio.ch.disableSystemWideOverlappingFileLockCheck来控制文件锁定行为。具体来说,该属性用于启用对JVM范围文件锁定的抑制,并提供与JDK 1.4和JDK 5的兼容性。旧行为仅限于检查仅在通道实例上获得的锁,而不是在JVM范围内获取的锁,这就是实际指定。

核心库/ java.util中:I18N

➜删除sun.locale.formatasdefault属性

为了向后兼容性而在JDK 7中引入的系统属性sun.locale.formatasdefault已被删除。

core-svc/javax.management

➜删除JVM-MANAGEMENT-MIB.mib

已删除通过SNMP JVM-MANAGEMENT-MIB.mib进行JVM监视和管理的规范。 客户可以使用JMX来监视和管理正在运行的JVM,并访问标准的度量和操作集。

core-svc/tools

➜删除SNMP代理

jdk.snmp模块已被删除。

因此,使用-D选项或management.properties配置设置时,以下com.sun.management.snmp。*属性为no-op。

com.sun.management.snmp.port

com.sun.management.snmp.trap

com.sun.management.snmp.interface

com.sun.management.snmp.acl

com.sun.management.snmp.acl.file

deploy

➜删除Java部署技术

现已删除了在JDK 9中已弃用并标记为在JDK 10中删除的候选者的Java插件和Java WebStart技术。 请注意,用于配置部署技术的Java控制面板也已与共享系统JRE(但不是服务器JRE)和JRE自动更新机制一起删除。本白皮书中提供了更多详细信息。

Infrastructure

➜从Oracle JDK中删除JMC

JDK捆绑包中不再包含Java

Mission Control(JMC)。 独立版本的JMC与Oracle JDK 11和OpenJDK 11兼容,可单独下载。

javafx/other

➜从Oracle JDK中删除JavaFX

JavaFX模块已从JDK 11发行版中删除。这些模块包含在早期版本的Oracle JDK中,但不包含在OpenJDK版本中。 JavaFX模块将作为JDK之外的单独模块集提供。 有关更多详细信息,请参见本白皮书:http://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf

other-libs

➜JEP320删除Java EE和CORBA模块

从Java SE Platform和JDK中删除Java EE和CORBA模块。这些模块在Java SE 9中已被弃用,声明的意图是在将来的版本中删除它们(JEP 320)。

已从Java SE 11和JDK 11中删除以下模块:

java.xml.ws(JAX-WS,以及相关技术SAAJ和Web服务元数据)

java.xml.bind(JAXB)

java.activation(JAF)

java.xml.ws.annotation(Common Annotations)

java.corba(CORBA)

java.transaction(JTA)

java.se.ee(上面六个模块的聚合器模块)

jdk.xml.ws(JAX-WS工具)

jdk.xml.bind(JAXB工具)

将删除jdk.xml.ws模块中的以下JAX-WS工具:

WSGEN

的wsimport

将删除jdk.xml.bind模块中的以下JAXB工具:

schemagen

XJC

删除了java.corba模块中的以下CORBA工具:

IDLJ

ORBD

servertool

tnamesrv

更新了rmic编译器以删除-idl和-iiop选项。因此,RMI编译器将不再能够生成IDL或IIOP存根和绑定类。

此外,由于删除了Java EE和CORBA模块,以下系统属性不再适用:

com.sun.xml.internal.ws.client.ContentNegotiation

com.sun.xml.internal.ws.legacyWebMethod

javax.xml.bind.context.factory的

javax.xml.bind.JAXBContext

javax.xml.soap.MetaFactory

javax.xml.ws.spi.Provider

jaxb.fragment

jaxb.noNamespaceSchemaLocation

jaxb.schemaLocation

jaxb.formatted.output

jaxb.encoding

mail.mime.decodetext.strict

mail.mime.encodeeol.strict

mail.mime.foldencodedwords

mail.mime.foldtext

mail.mime.charset

saaj.mime.optimization

saaj.lazy.contentlength

saaj.lazy.contentlength

saaj.lazy.mime.optimization

有关拆卸和可能更换模块的更多详细信息,请参阅JEP 320。

相关文章

  • JDK11删除功能和选项

    删除功能和选项 本节介绍在Java SE 11和JDK 11中删除的API,功能和选项。此处描述的API是随Ora...

  • el-select已有项禁止删除

    最近遇到一个需求,页面有新增和编辑两个功能,但是编辑的时候只能添加新的选项,不可删除已新增的选项。 不可删除已新增...

  • JDK 11新特性

    JDK 11中的新功能 - 新功能和增强功能 以下注释描述了JavaSE11和JDK11中的一些增强功能。这些描述...

  • oracle jdk11 无javah命令

    jdk11 删除了 javah命令,直接用javac -h reference:https://blog.csdn...

  • 用python写一个员工管理系统

    功能: 1.一级层级多个选项、二级层级多个选项,都支持判空、退出、返回上一层级 2.针对删除和修改有员工当前自动搜...

  • Linux初级阶段之常用命令:rm

    1. 命令格式: rm [选项] 文件 2. 命令功能: 删除一个目录中的一个或多个文件或目录,如果没有-r选项,...

  • Flutter 96: 图解 Draggable + DragT

    小菜尝试做一个新闻类 app 常见的可以滑动添加和删除 item 选项卡的小功能,小菜尝试采用 Draggable...

  • Linux系统学习之:常用命令2

    rmdir命令 用途:删除目录 rmdir [选项] 目录 选项:-p,--parents:删除指定目录及其上级文...

  • Wireshark常用选项和功能

    收集自互联网 初步的思维导图: 标记序包: 方便找到需要的包,另外导出的时候可以选择只导出标记的包。 导出指定序包...

  • TabHost

    Android选项卡TabHost功能和用法

网友评论

      本文标题:JDK11删除功能和选项

      本文链接:https://www.haomeiwen.com/subject/mbqjoftx.html