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。

相关文章
|
3月前
|
Java API
深入探讨 Java 8 集合操作:全面解析 Stream API 的强大功能
深入探讨 Java 8 集合操作:全面解析 Stream API 的强大功能
66 2
|
4月前
|
设计模式 Java API
【设计模式】JAVA Design Patterns——Combinator(功能模式)
【设计模式】JAVA Design Patterns——Combinator(功能模式)
|
25天前
|
Java 开发者
Java多线程教程:使用ReentrantLock实现高级锁功能
Java多线程教程:使用ReentrantLock实现高级锁功能
23 1
|
20天前
|
前端开发 开发者 安全
JSF支付功能大揭秘:探索如何在Java世界中实现安全无缝的在线支付体验
【8月更文挑战第31天】在电子商务和在线交易日益普及的今天,实现在线支付功能已成为许多Web应用的必备需求。JavaServer Faces (JSF) 作为一种流行的Java Web框架,提供了丰富的组件和工具来构建用户界面,包括与支付网关集成以实现在线支付。支付网关是处理信用卡和借记卡支付的系统,在商家和银行之间起到桥梁作用。本文将探讨如何使用JSF与支付网关集成,以及实现在线支付功能时需要考虑的关键点
32 0
|
2月前
|
存储 NoSQL Java
Java中使用redis的bitMap实现签到功能
这个实现示例提供了一种灵活、高效的方式,展示了如何使用Redis来解决现实中的问题。
117 2
|
1月前
|
JavaScript 前端开发 网络协议
WebSocket在Java Spring Boot+Vue框架中实现消息推送功能
在现代Web应用中,实时消息提醒是一项非常重要的功能,能够极大地提升用户体验。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为实现实时消息提醒提供了高效且低延迟的解决方案。本文将详细介绍如何在Java Spring Boot后端和Vue前端框架中利用WebSocket实现消息提醒功能。
|
3月前
|
前端开发 Java 开发工具
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
系统开发环境 开发语言:java 技术架构:B/S架构 开发工具:maven、Visual Studio Code 前端框架:avue 后端框架:springboot、mybaits 数 据 库:MySQL
42 4
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
|
2月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
搜索推荐 Java API
如何在Java应用中实现全文搜索功能
如何在Java应用中实现全文搜索功能
|
2月前
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
1352 2