JDK11删除功能和选项

简介: 删除功能和选项本节介绍在Java SE 11和JDK11中删除的API,功能和选项。此处描述的API是随Oracle JDK提供的API。 它包括Java SE 11平台的完整实现和其他Java API,以支持Java应用程序的开发,调试和监视。

删除功能和选项

本节介绍在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。

相关文章
|
1月前
|
运维 监控 JavaScript
JAVA村卫生室、诊所云HIS系统源码 支持医保功能
运维运营分系统 1、系统运维:环境管理、应用管理、菜单管理、接口管理、任务管理、配置管理 2、综合监管:统计监管的医疗机构的综合信息,包括医疗业务量、人员配备量、支付分类占比等。 3、系统运营:机构管理、药品目录管理、用户管理、角色管理、字典管理、模板管理、消息管理、运营配置、售后服务、外部系统。
30 0
|
1月前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
36 0
|
1月前
|
安全 JavaScript 前端开发
JDK1.8的重要的新特性与功能
Java Development Kit (JDK) 1.8,也称为Java 8,是Java平台的一个重大更新,于2014年3月发布。它引入了多项新特性、新的API和性能提升
72 3
|
2月前
|
Java 测试技术 API
深度剖析JDK 11全新特性:编程艺术的巅峰之作
深度剖析JDK 11全新特性:编程艺术的巅峰之作
43 0
|
2月前
|
安全 Java API
JDK 11中的动态类文件常量:探索Java字节码的灵活性与动态性
在JDK 11中,Java语言引入了一个新的特性,允许在运行时动态地修改类文件常量。这一特性为Java开发者提供了更大的灵活性,使他们能够根据需要在运行时更改类文件中的常量值。本文将深入探讨动态类文件常量的工作原理、优点、限制以及在实际项目中的应用。
48 11
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
50 0
|
2月前
|
算法 前端开发 JavaScript
【JAVA】JDK11新特性个人分析
【JAVA】JDK11新特性个人分析
55 0
|
1月前
|
存储 Java API
Java统计功能
Java统计功能
14 0