Java JDK 11删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能。

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/jdkjdk/client的更改现在标记为JDK 12.稳定存储库可以接受选定的错误修复,如果获得批准,则可以根据JDK发布过程接受后期增强。

Oracle标准Java实现的最新版本是一个长期支持(LTS)版本,它将得到Oracle至少8年的商业支持。到2026年将提供Bug修复和安全更新。新的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.CipherSpiAPI 在SunJCE(Java密码术扩展)提供程序中实现算法。

  • 增强Java启动程序以运行作为Java源代码的单个文件提供的程序,因此这些程序可以直接从源代码运行。在学习Java的早期阶段编写小实用程序或开发人员时,单文件程序很常见。此外,单个源文件可能会编译为多个类文件,这会增加打包开销。在这些情况下,必须在运行之前编译程序只是基于传统的不必要的步骤。

  • 低开销堆分析,提供了一种可以通过JVM工具接口访问Java堆分配的方法。这项工作的目标是以低开销的方式获取有关这些分配的信息,可以通过编程接口访问,并可以对所有分配进行采样。实施独立性和提供关于实时和死堆的数据也是目标。糟糕的堆管理可能导致堆耗尽和垃圾收集颠簸。解决此问题的大多数工具都缺少特定分配的调用站点,这些信息对于调试内存问题至关重要。

  • Pack200和Unpack200工具以及Pack200 API的弃用util.jar。Pack200是.jar文件的压缩方案,旨在降低应用程序打包,传输和交付的磁盘和带宽要求。项目负责人表示,维护成本和低使用率并不能证明其保留是合理的。

  • Z垃圾收集器(ZGC)是一种实验性的、低延迟的垃圾收集器,用于处理大小从相对较小的堆到非常大的堆,大小为许多tb级的堆。通过使用ZGC,暂停时间不应超过10ms,与使用G1收集器相比,应用程序吞吐量减少不应超过15%。ZGC还为将来的特性和优化打下基础。Linux/x64将是第一个获得ZGC支持的平台。

一篇文章了解新发布的Java JDK 11相关推荐

  1. Java JDK 11:现在可以使用所有新功能

    为什么80%的码农都做不了架构师?>>>    删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...

  2. 一篇文章教你弄懂java CMS垃圾回收日志

    文章目录 一.CMS垃圾回收器介绍 二.CMS JVM运行参数 三.CMS收集器运行过程 1.初始标记(CMS initial mark) 2.并发标记(CMS concurrent mark) 3. ...

  3. c枚举类型enum例题_一篇文章让你详细了解Java中Enum枚举类的使用

    文章前记 程序员工作久了便可能整日忙碌于"增删改查"中,迷失方向,毫无进步. 该公众号致力于分享软件开发相关的原创干货,助你完成从程序员到架构师的进阶之路! 努力!做一个NB的Co ...

  4. 一篇文章让你真正了解Java

    "你学习一门技术的最佳时机是三年前,其次是现在."这句话对于哪一种行业都很适用,如果你已经学习过Java,那么恭喜你你很有先见之明,如果你并不了解Java,这篇文章带你快速掌握Ja ...

  5. java 1.7的新特性_[Java]  JDK 1.7版本的 新特性

    在网上看到一些jdk1.7的新特性,现将我觉得比较实用的记录于下: (1)switch中可以使用字串了 String s = "test"; switch (s) { case & ...

  6. 你对java的看法 论文,一篇文章让你真正了解Java

    "你学习一门技术的最佳时机是三年前,其次是现在."这句话对于哪一种行业都很适用,如果你已经学习过Java,那么恭喜你你很有先见之明,如果你并不了解Java,这篇文章带你快速掌握Ja ...

  7. 一篇文章搞懂什么是 Java Agent

    写在前面 本文隶属于专栏<100个问题搞定Java虚拟机>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定Java ...

  8. java中抽象接口_一篇文章让你彻底理解java中抽象类和接口

    相信大家都有这种感觉:抽象类与接口这两者有太多相似的地方,又有太多不同的地方.往往这二者可以让初学者摸不着头脑,无论是在实际编程的时候,还是在面试的时候,抽象类与接口都显得格外重要!希望看完这篇博客文 ...

  9. 力扣有没有java_【Java】一篇文章带你玩转用Java刷力扣

    写在前面 我之前一直是以Golang为主语言的,最近开始转Java,包括平时刷题(欢迎来互粉哈:千杉沐雪的力扣)的语言也改为使用Java. 在转语言的过程中,总避免不了要频繁地查基本的语法和一些常见函 ...

最新文章

  1. 史上最全GAN综述2020版:算法、理论及应用
  2. 并查集数据结构的几种实现
  3. 基于struts2,hibernate的小javaweb项目
  4. C# 读取TXT文本数据 添加到数据库
  5. Heinz College of Information Systems and Public Policy Carnegie Mellon University
  6. Java学习笔记2021.1.9
  7. 漫画:什么是动态规划?(整合版)
  8. 优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...
  9. 软件测试和python那个号_软件测试:Java VS Python
  10. ionic4 引入外部字体ttf
  11. Linux内核分析作业 NO.2
  12. 开心群管 (云机器人群管)网页管理QQ群
  13. 魏巍专访丨合作半年拓客100+,他是如何做到的?
  14. 16种床上动作的内涵图,你都看懂了吗?
  15. gets和puts基本用法。
  16. 他曾被视为马斯克第二,现在是等着坐牢的骗子
  17. 命令行对文件批量改名
  18. Unity 相机被遮挡的判断与处理
  19. 修复WHS中缺少的外部硬盘数据库错误
  20. 微信小程序前端各种酷炫的动画特效实例,这一篇就够了,复制开箱就用,赶快收藏好了

热门文章

  1. 为win11家庭中文版开启组策编辑器
  2. ​明知工作没前途,想辞职却又不知道做什么?
  3. 【期权课堂】第5课 期权价格的平价关系
  4. Linux的上传和下载文件到Window_scp指令
  5. 解决size mismatch for embedding.embed_dict.userid.weight
  6. Arduino ULN2003驱动模块+28BYJ-48步进电机
  7. Unity 音频理解与优化
  8. 如何推广一个新的App软件
  9. jdk安装及配置超详细图文
  10. 机器学习经典算法---EM算法(一文秒懂极大释然估计和EM算法)