0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Java JEP数量随着迭代的加速更加容易应对?

lhl545545 来源:Tom大发现 作者:Tom大发现 2020-09-23 11:16 次阅读

2020 年是 Java 诞生的第 25 个年头。在过去的这些年中,Java 在过去增强功能的推动下为用户提供了超过二十年的创新,例如 Java 5 中的泛型,Java 8 中的 Lambda 和 Java 9 中的模块,这些迭代提高了 Java 平台的性能,稳定性和安全性。

Java 虽然 25 岁了,但是依然持续着创新之道。九月 15 日 Oracle 宣布 JDK15 正式发布。这是 Java 迭代周期缩短为六个月以后的第六个版本。随着迭代速度的加快,让 Java 的设计开发测试人员能够更加轻松的面对迭代中的变化。

在六个月的节奏下,交付可用于生产的 JDK 新版本的速度已大大提高。而不是每隔几年在大型主要版本中发布成千上万的修复程序和大约一百个 JDK 增强建议(JEP)。

基于Java JEP数量随着迭代的加速更加容易应对?

Java JEP数量随着迭代的加速更加容易应对

JDK Enhancement Proposals : 简称 JEP,JDK 增强建议,就是 JDK 的特性新增和改进提案。

中国企业做出杰出贡献

另外 OpenJDK 社区也对 JDK15 的诞生做出了重要贡献,里面除了我们耳熟能详的科技巨头还有一些小组织机构和独立开发者

参与JDK15 ISSUES修复的组织

Oracle 依旧是 JDK 开发的主力军,完成了 79.68%的工作量,其次是开源巨头红帽。国内企业贡献最多的居然是腾讯公司,被 Oracle 点名感谢。阿里巴巴和华为也做出了不可磨灭的贡献。Java 有中国科技力量的贡献能大大提升中国 IT 的硬实力。

Java 15

Java 15 为用户提供了十四项主要的增强/更改,包括一个孵化器模块,三个预览功能,两个不推荐使用的功能以及两个删除功能。

EdDSA 数字签名算法

新加入 Edwards-Curve 数字签名算法(EdDSA)实现加密签名。在许多其它加密库(如 OpenSSL 和 BoringSSL)中得到支持。与 JDK 中的现有签名方案相比,EdDSA 具有更高的安全性和性能。这是一个新的功能。

隐藏类

此功能可帮助需要在运行时生成类的框架。框架生成类需要动态扩展其行为,但是又希望限制对这些类的访问。隐藏类很有用,因为它们只能通过反射访问,而不能从普通字节码访问。此外,隐藏类可以独立于其他类加载,这可以减少框架的内存占用。这是一个新的功能。

重新实现 DatagramSocket API

重新实现旧版 DatagramSocket API,更简单、更现代的实现来代替java.net.DatagramSocket和java.net.MulticastSocketAPI 的基础实现,提高了 JDK 的可维护性和稳定性。

ZGC 功能转正

ZGC 已由JEP 333集成到JDK 11 中,其目标是通过减少 GC 停顿时间来提高性能。借助 JEP 377,ZGC 从预览功能转变为生产功能。

文本块功能转正

文本块由JEP 355在 2019 年提出。文本块是一种多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。借助 JEP 378,文本块已成为 Java 语言的永久功能。

Shenandoah 垃圾回收算法转正

Shenandoah 垃圾回收从实验特性变为产品特性。这是一个从 JDK 12 引入的回收算法,该算法通过与正在运行的 Java 线程同时进行疏散工作来减少 GC 暂停时间。Shenandoah 的暂停时间与堆大小无关,无论堆栈是 200 MB 还是 200 GB,都具有相同的一致暂停时间。

密封类(预览)

用于限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。这是新的预览特性。

instanceof 自动匹配模式(预览)

在此之前 Java 中:

// 先判断类型if (obj instanceof String) { // 然后转换 String s = (String) obj; // 然后才能使用}

自动匹配模式中:

if (obj instanceof String s) { // 如果类型匹配 直接使用} else { // 如果类型不匹配则不能直接使用}

这是第二次预览该功能,我们已经在 Java 14 中首次预览过该特性。

Records Class(预览)

这个也是第二次预览,我对这个功能做过详细的介绍,你可以在 Java 14 新特性之 JEP 359 Records 一文中详细了解它。

外部存储器访问 API(预览)

目的是引入一个 API,以允许 Java 程序安全有效地访问 Java 堆之外的外部内存。这同样是 Java 14 的一个预览特性。

其它

其它还有一些弃用和不建议使用的功能,比如移除了 Nashorn JavaScript 引擎,同时也移除了删除 Solaris 和 SPARC 端口。并标记了一些弃用功能。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102978
  • 腾讯
    +关注

    关注

    7

    文章

    1619

    浏览量

    49152
  • JDK
    JDK
    +关注

    关注

    0

    文章

    77

    浏览量

    16486
收藏 人收藏

    评论

    相关推荐

    HFSS不能使用迭代求解

    新手小白提问,如图,设置的是迭代求解,运行时转为直接求解导致内存不够,请大神解答为什么不能用迭代求解啊
    发表于 03-27 14:24

    如何加速HBM仿真迭代优化?

    如何加速HBM仿真迭代优化?
    的头像 发表于 11-29 16:13 234次阅读
    如何<b class='flag-5'>加速</b>HBM仿真<b class='flag-5'>迭代</b>优化?

    简单了解Java的新特性

    Java 8 到 Java 20,Java 已经走过了漫长的道路,自 Java 8 以来,Java 生态系统发生了很多变化。最显着的变化是
    的头像 发表于 11-23 16:38 305次阅读
    简单了解<b class='flag-5'>Java</b>的新特性

    Java11和Java17使用率达48%和45%

    2018 年 9 月发布的 Java 11 和 2020 年 9 月发布的 Java 17 是使用最广泛的 Java 版本,使用率分别为 48% 和 45%。其次是 2014 年 3 月发布
    的头像 发表于 11-01 12:30 300次阅读

    思尔芯原型验证助力香山RISC-V处理器迭代加速

    2023年10月19日,思尔芯(S2C)宣布北京开源芯片研究院(简称“开芯院”)在其历代“香山”RISC-V处理器开发中采用了思尔芯的芯神瞳VU19P原型验证系统,不仅加速了产品迭代,还助力多家企业
    的头像 发表于 10-25 08:24 328次阅读
    思尔芯原型验证助力香山RISC-V处理器<b class='flag-5'>迭代</b><b class='flag-5'>加速</b>

    Java和JavaEE都是什么?有什么区别?

    Java分三个版本:Java SE(标准版)、Java EE(企业版)、Java ME(微型版)。 可简单的总结为三点: Java SE 是
    的头像 发表于 10-11 17:01 464次阅读

    Java时间类转换方案

    众所周知,Java 8 之前的 Date 相关的时间类非常的不好用。从 Java 8 之后开始加入了 LocalDate 等一系列更加现代化的时间类。 这就衍生出 Java 8 之前的
    的头像 发表于 10-09 15:48 269次阅读

    Java枚举的特点及用法

    什么是枚举 Java 枚举(Enum)是一种特殊的数据类型,它是一组预定义的常量,每个常量都有一个名称和一个值。 枚举类型在 Java 中被广泛使用,它可以用来代替常量、标志位、状态码等,使代码更加清晰、易读和易维护。 2.
    的头像 发表于 09-30 10:02 405次阅读

    Java泛型的背景和作用

    等)只能存储Object类型的对象,这使得在使用集合时需要进行强制类型转换,容易出现类型错误。 泛型的背景:在Java 5版本之前,Java的类型是静态的,在编译时确定,并且在运行时擦除类型信息。这种情况下,编译器无法对集合的元
    的头像 发表于 09-20 14:30 433次阅读
    <b class='flag-5'>Java</b>泛型的背景和作用

    迭代模式在UVM中的应用有哪些

    行为型设计模式数量较多,上一篇介绍了模板模式和策略模式,下面对迭代模式进行介绍,挖掘其在UVM中的应用。
    的头像 发表于 08-14 17:15 379次阅读
    <b class='flag-5'>迭代</b>模式在UVM中的应用有哪些

    java可以做人工智能吗

    首先,Java语言的可移植性非常强,它可以在不同的平台和操作系统上运行,这使得开发过程更加灵活,并且可以在各种移动系统和设备上运行。Java虚拟机(JVM)是这种跨平台性的重要组成部分,并且在许多
    的头像 发表于 08-14 14:05 1058次阅读

    Python中的迭代器介绍 迭代器在scoreboard中的应用有哪些?

    Iterator Design Pattern: 对容器 (聚合类,集合数据等) 的遍历操作从容器中拆分出来,放到迭代器中,实现迭代操作的解耦。
    的头像 发表于 08-08 09:41 394次阅读
    Python中的<b class='flag-5'>迭代</b>器介绍 <b class='flag-5'>迭代</b>器在scoreboard中的应用有哪些?

    Java21版本的使用

    8 到Java 21,中间也就是Java 11, Java 17是长期支持版本,其他的都是“小”版本,变化不大。 这次去掉“public static void main”的提案来自JEP
    的头像 发表于 06-19 09:42 1403次阅读
    <b class='flag-5'>Java</b>21版本的使用

    AR/VR硬件端迭代加快 加速推动应用落地

    交互体验持续改善。硬件端的持续迭代及出货量提升有望加速推动相关应用场景落地,丰富内容生态系统。同时,适配XR(AR/VR/MR)的优 质内容有望受益于AI技术发展提高产出效率,从而带动XR产业提速发展。另外,政策端支持力度增加明显,《虚拟
    的头像 发表于 05-30 10:06 536次阅读
    AR/VR硬件端<b class='flag-5'>迭代</b>加快 <b class='flag-5'>加速</b>推动应用落地

    迭代不同WIFI连接的正确方法是什么?

    迭代不同WIFI连接的正确方法?
    发表于 05-04 06:46