Java JDK 11:现在可以使用所有新功能
删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能
目录
- 哪里可以下载JDK 11
- Java 11 JDK中的新功能
- 从Java JDK 11中删除了什么
Java Development Kit(JDK)11现已普遍可用,可供生产使用,提高了工作效率,并提供了实现HTTP / 2的HTTP客户端API。
Java Standard Edition(SE)版本11有16个主要功能更改。Java 11还通过删除CORBA和Java EE (最近更名为Jakarta EE)模块以及删除JavaFX而失去了一些功能 ,JavaFX现在可作为独立技术使用。
在Java 11中,Oracle已将主线存储库jdk / jdk指定到jdk / jdk11稳定存储库。推送到jdk / jdk或jdk / client的更改将被标记为JDK 12。稳定存储库可以接受选定的错误修复,如果获得批准,则可以做为JDK发布过程中的后期增强功能。
Oracle标准Java实施的最新版本是长期支持(LTS)版本,该版本将获得Oracle的商业支持至少八年。错误修复和安全更新将在2026年之前提供。新的LTS版本每三年发布一次,JDK 17将于2021年发布,预计将成为下一个LTS版本。临时版本将每六个月发布一次。
哪里可以下载JDK 11
您可以从Oracle Technology Network 下载JDK 11。
Java 11 JDK中的新功能
JDK 11有16个新功能:
- 通过
lang.Math
在Aarch64处理器上实现sin,cos和log函数的新内在函数,改进Aarch64内在函数。该提案强调专用的CPU体系结构特定的代码模式,可提高应用程序和基准的性能。 - 基于嵌套的访问控制,引入了嵌套,这是一种与Java语言中嵌套类型概念一致的访问控制上下文。嵌套允许逻辑上属于同一代码的实体类,但编译为不同的类文件,以访问彼此的私有成员,而无需编译器插入可访问性扩展桥接方法。
- 传输层安全性(TLS)1.3,其中TLS协议这种大的修改将适用于JDK 11,从而提供显著的安全性和性能优势。但是,目标不是支持TLS 1.3的每个功能。为了最大限度地降低不兼容的风险,TLS 1.3默认会实现向后兼容模式。应用程序可以根据需要关闭或打开此模式。
- Nashorn JavaScript引擎与JJS工具的弃用,旨在将来删除它们。鉴于ECMAScript语言构建和API的快速调整和修改,Oracle发现Nashorn难以维护。
- HTTP客户端(标准),它标准化了JDK 9中引入,并在JDK 10中更新和孵化的HTTP API客户端。API提供非阻塞请求和响应语义
CompleteableFutures
,可以链接到触发器依赖操作。在JDK 9和10中孵化之后,现在异步的实现几乎已经完全重写了。RX Flow概念已经被推入实现阶段,消除了支持HTTP / 2所需的许多自定义概念。现在可以更轻松地跟踪数据流,从用户级请求发布者和响应发布者到底层套接字。这降低了复杂性并最大化了HTTP / 1和HTTP / 2之间重用的可能性。 - 被称为“无操作”收集器的Epsilon垃圾收集器,将处理内存分配,而不实现任何实际的内存回收机制。Epsilon的用例包括性能测试,内存压力和虚拟机接口。它也可以用于短期工作。
- lambda参数的局部变量语法,应该将隐式类型表达式中形式参数声明的语法,与局部变量声明的语法对齐。这将允许
var
在声明隐式类型lambda表达式的形式参数时使用。 - 将扩展Java类文件格式以支持新的常量池形式
CONSTANT_Dynamic
。目标是降低成本和消除新开发形式中可物化类文件约束。 - 与现有的椭圆曲线Diffie-Hellman方案相比,Curve25519和Curve448密码学的关键协议应该更加有效和安全。根据IETF的说法,两条椭圆曲线Curve25510和Curve448可以实现恒定时间实现和无异常的标量乘法,这种乘法更能抵抗一系列的旁道攻击,包括定时和缓存攻击。该提案的目标包括API和密钥协商方案的实现,以及独立于平台的全Java实现的开发。但是,作为提案的一部分,模块化算法实现的复杂性和微妙性存在风险。
- Flight Recorder将提供一个低开销的数据收集框架,用于对Java应用程序和HotSpot JVM进行故障排除。Flight Recorder已成为Oracle商业JDK的一项功能,但其源代码将移至开放式存储库以使该功能普遍可用。Iclouded将是用于生成和使用数据作为事件的API,提供缓冲机制和二进制数据格式以及启用事件的配置和过滤。该提案还要求为OS,HotSpot和JDK库提供事件。
- 升级平台API以支持Unicode版本10.0,从而使Java保持最新。预计将在以下类别中提供支持:
Character
并String
在lang
包中NumericShaper
在awt.font
包中Bidi
,BreakIterator
和Normalizer
在text
包
- 实施ChaCha20和Poly1305加密算法。ChaCha2020是一种相对较新的流密码,可以取代旧的,不安全的R4流密码。ChaCha20将与Poly1305验证器配对。将提供ChaCha20和ChaCha20-Poly1305密码实现,使用
crypto.CipherSpi
API 在SunJCE(Java密码术扩展)提供程序中实现算法。 - 增强Java启动程序,以运行只有单个Java源代码文件的程序,因此这些程序可以直接从源代码运行。在学习Java的早期阶段,开发人员编写小的实用程序时,单文件程序很常见。此外,单个源文件可能会编译为多个类文件,这会增加打包开销。在这些情况下,必须在运行之前编译程序,只是传统的不必要的步骤。
- 低开销堆分析,提供了一种可以通过JVM工具接口访问Java堆分配的方法。这项工作的目标是以低开销的方式获取有关这些分配的信息,可以通过编程接口访问,并可以对所有分配进行采样。其目标也包含,实施独立性和提供关于实时和死堆的数据。糟糕的堆管理可能导致堆耗尽和垃圾收集颠簸。解决此问题的大多数工具都缺少特定分配的调用站点,这些信息对于调试内存问题至关重要。
- 在util.jar中弃用Pack200和Unpack200工具以及Pack200 API。Pack200是.jar文件的压缩方案,旨在降低应用程序打包,传输和交付的磁盘和带宽要求。项目负责人表示,高维护成本和低使用率证明其保留是不合理的。
- Z垃圾收集器(ZGC) ,实验功能,低延迟垃圾收集器,以处理从相对较小到非常大的堆的堆,其大小为数TB。通过使用ZGC,暂停时间不应超过10毫秒,与使用G1收集器相比,应用程序吞吐量减少不应超过15%。ZGC还为未来的功能和优化奠定了基础。Linux / x64将是第一个获得ZGC支持的平台。
从Java JDK 11中删除了什么
Java EE EE和CORBA模块在Java SE 9中已弃用,其目的是在以后的发行版中删除它们 - 即JDK 11。
2006年12月发布的Java SE 6包含了一个完整的Web服务堆栈,以方便开发人员 - 包括为Java EE平台构建的四种技术:JAX-WS(基于XML的Web服务的Java API,JAXB(Java体系结构) Java绑定),JAF(JavaBeans Activation Framework)和Java的通用注释。随着时间的推移,Java EE版本不断发展,导致Java SE出现困难,例如包括与Java SE无关的技术以及跨两个Java的更难维护通过第三方站点提供的独立版Java EE技术,Oracle表示不再需要在Java SE或JDK中使用它们。
尽管如此,如果某些应用程序依赖于JDK for Java EE API和工具的开箱即用支持,它们将无法编译或运行。将JDK 6,7或8迁移到更高版本时会出现二进制和源不兼容问题。Oracle表示,受这些风险影响的开发人员可以部署替代版本的Java EE技术。
CORBA可以追溯到20世纪90年代,Oracle称今天对使用CORBA开发现代Java应用程序没有太大兴趣。维护CORBA支持的成本超过其剩余的好处。
但是,如果CORBA实现仅包含一部分CORBA API并且期望JDK提供其余部分,则删除CORBA会导致CORBA实现无法运行。没有第三方CORBA版本,并且不确定第三方是否可以接管CORBA API维护。
JavaFX正在被删除,因此它与Java JDK的两年更新计划无关。
Oracle表示,将JavaFX作为独立的模块将使其更容易采用并为新贡献者扫清障碍。该公司补充说,随着为标准Java和JDK实施更快的发布计划,JavaFX需要按照Oracle和其他OpenJFX社区的贡献来推动自己的步伐。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
EventBus原理深度解析
一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于EventBus使用起来简单、便捷,因此,工作中会经常用到。深入理解该框架的原理就很有必要。 二、框架解析 2.1、组织结构 eventbus的组织结构如下: eventbus主要有以下几部分组成: 1、eventbus、asyncEventBus:事件发送器。 2、event:事件承载单元。 3、SubscriberRegistry:订阅者注册器,将订阅者注册到event上,即将有注解Subscribe的方法和event绑定起来。 4、Dispatcher:事件分发器,将事件的订阅者调用来执行。 5、Subscriber、SynchronizedSubscriber:订阅者,并发订阅还是同步订阅。 2.2、运行原理 1、eventbus是基于注册监听的方式来运行的,因此,首先需要将eventbus,然后才会有事件及监听者。新建eventbus或者AsyncEventBus的方式如下: EventBus...
- 下一篇
白话SpringCloud | 第六章:Hystrix监控面板及数据聚合(Turbine)
前言 前面一章,我们讲解了如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix Dashboard和Turbine.其中Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据,监控单个实例内的指标情况。后者Turbine,能够将多个实例指标数据进行聚合的工具。 Hystrix-Dashboard Hystrix-dashboard(仪表盘)是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。 创建一个spring-cloud-hystrix-dashboard工程。 0.引入POM依赖。 <dependency> <groupId>org.springframework.cloud</groupId&g...
相关文章
文章评论
共有0条评论来说两句吧...