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。

相关文章
|
2月前
|
安全 Java API
Java中的Lambda表达式:简洁与功能的结合
Java中的Lambda表达式:简洁与功能的结合
354 211
|
2月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
316 63
|
20天前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
Java Stream API 的强大功能
|
2月前
|
前端开发 JavaScript Java
Java 项目实战城市公园信息管理系统开发流程与实用功能实现指南
本系统基于Java开发,采用Spring Boot后端框架与Vue.js前端框架,结合MySQL数据库,构建了一个高效的城市公园信息管理系统。系统包含管理员、用户和保洁人员三大模块,涵盖用户管理、园区信息查询、订票预约、服务管理等功能,提升公园管理效率与服务质量。
80 6
|
2月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
99 2
|
2月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在生物信息学基因功能预测中的优化与应用(223)
本文探讨了Java大数据与机器学习模型在生物信息学中基因功能预测的优化与应用。通过高效的数据处理能力和智能算法,提升基因功能预测的准确性与效率,助力医学与农业发展。
|
3月前
|
Java API
Java API中Math类功能全景扫描
在实际使用时,这些方法的精确度和性能得到了良好的优化。当处理复杂数学运算或高精度计算时,`Math`类通常是足够的。然而,对于非常精细或特殊的数学运算,可能需要考虑使用 `java.math`包中的 `BigDecimal`类或其他专业的数学库。
91 11
|
3月前
|
Java API
深入解析Java API中Object类的功能
了解和合理运用 Object类的这些方法,对于编写可靠和高效的Java应用程序至关重要。它们构成了Java对象行为的基础,影响着对象的创建、识别、表达和并发控制。
65 0
|
3月前
|
消息中间件 监控 Java
借助最新技术构建 Java 邮件发送功能的详细流程与核心要点分享 Java 邮件发送功能
本文介绍了如何使用Spring Boot 3、Jakarta Mail、MailHog及响应式编程技术构建高效的Java邮件发送系统,涵盖环境搭建、异步发送、模板渲染、测试与生产配置,以及性能优化方案,助你实现现代化邮件功能。
144 0