iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >JDK20又来了!你还在用JDK8么?
  • 738
分享到

JDK20又来了!你还在用JDK8么?

java开发语言jdk 2023-08-30 12:08:05 738人浏览 安东尼
摘要

文章目录 前言JDK 20发布JDK20下载JDK 20新特性矢量API虚拟线程(第二次优化)结构化并发Scoped values 作用域值记录模式(第二次优化)外部函数和内存APIswitch语句和表达式的模式匹配 写在最后

前言

jdk20又来了!相信很多开发者和我一样都还在用JDK8稳定版。JDK8是最后一个免费商业化版本,很多公司也是因为这个原因不愿意升级。但是作为一个资深搬砖人,我们也还是需要了解新版本的特性。废话不多说,我们开始今天的主题——JDK 20新特性。
在这里插入图片描述

JDK 20发布

3月21日,甲骨文公司发布了最新版JDK20。JDK 20是一个仅支持六个月的短期版本,它是2022年9月20日发布的JDK 19 的迭代产品。值得注意的是JDK 21也将于9月发布,不过JDK21会是一个长期支持(LTS)版本。目前,Java 20已经可以从官网下载使用。
在这里插入图片描述

JDK20下载

https://jdk.java.net/20/
在这里插入图片描述

JDK 20新特性

相信不少同学还在JDK8吧,但是JDK20我们也要了解它的新特性。

矢量api

矢量API是引入一种API来表达矢量计算,这些计算在运行时可靠地编译为支持的CPU架构上的最佳矢量指令。这将实现优于等效标量计算的性能。

虚拟线程(第二次优化)

虚拟线程是轻量级线程,可以减少编写、维护和观察高吞吐量并发应用程序的工作量。在JDK19中已经少量API更改和对ThreadGroup的降级。在JDK20中将从根本上改变Java应用程序的扩展方式。

结构化并发

结构化并发由一个API来简化多线程编程,并将在不同线程中运行的多个任务视为单个工作单元。简化了错误处理和消除,提高了可靠性和可观察性。自从在JDK 19中孵化以来,唯一的变化是StructuredTaskScope已经更新,以支持在任务范围中创建的线程对范围值的继承。在JDK20中正在重构此功能。

Scoped values 作用域值

Scoped values是一种处于开发阶段的API,可以在线程内和线程间共享不可变的数据。与线程局部变量相比,这些变量更可取,尤其是在使用大量虚拟线程时。作用域值允许在大型程序中的组件之间安全有效地共享数据,而无需使用方法参数。目标包括易用性、可理解性、健壮性和性能。

记录模式(第二次优化)

在JDK20中记录模式通过解构记录值的模式增强了Java编程语言。可以嵌套记录模式和类型模式,以实现声明性、强大且可组合的数据导航和处理形式。目标包括扩展模式匹配以表达更复杂、可组合的数据查询,并且不更改类型模式的语法或语义。

外部函数和内存API

外部函数和内存API引入了一种API,Java程序可以通过该API在Java运行时之外与代码和数据进行互操作。API使Java程序能够调用本机库并处理本机数据,而没有JNI(Java native Interface)的脆弱性和危险性。JDK 19之后添加的改进包括MemorySegment和MemoryAddress抽象的统一,增强的MemoryLayout层次结构,以及将MemorySession拆分为Arena和SegmentScope,以促进跨维护边界的段共享。

switch语句和表达式的模式匹配

switch语句和表达式的模式匹配可以实现复杂的面向数据的查询的简洁和安全的表达式。在JDK20中将实现与记录模式的持续共同发展,允许根据经验和反馈进行持续改进。本次更新switch模式匹配的主要变化包括switch标签的简化语法,以及对switch语句和表达式中泛型模式和记录模式的类型参数推断的支持。此外,如果在运行时没有应用开关标签,则枚举类上的穷举切换现在会抛出MatchException,而不是不兼容ClassChangeError。

写在最后

JDK20在19的基础上更新了结构化并发、记录模式、部函数和内存API等,也加入了一些新的特性。但是本版本官方只短期支持6个月,下个稳定版本JDK21会在今年9月发布。哈哈,不得不说甲骨文公司对于JDK的商业化更新还是比较执着。

路漫漫其修远兮,吾将上下而求索
有兴趣的小伙伴也可以加我:
订阅号 ‘架构集结号’
知识星球 ‘coding社区’

来源地址:https://blog.csdn.net/weixin_39970883/article/details/129947584

--结束END--

本文标题: JDK20又来了!你还在用JDK8么?

本文链接: https://www.lsjlt.com/news/382813.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JDK20又来了!你还在用JDK8么?
    文章目录 前言JDK 20发布JDK20下载JDK 20新特性矢量API虚拟线程(第二次优化)结构化并发Scoped values 作用域值记录模式(第二次优化)外部函数和内存APIswitch语句和表达式的模式匹配 写在最后...
    99+
    2023-08-30
    java 开发语言 jdk
  • 还在用vuex?来了解一下pinia
    目录1. 什么是pinia2.优势3. 使用 (非常简单)总结1. 什么是pinia 通俗的讲 : ① vuex精简版 ,而且vue官方更加推荐使用。 ②优势又完胜于vuex ,下面...
    99+
    2024-04-02
  • redis除了做缓存还能够用来干什么
    这篇文章给大家分享的是有关redis除了做缓存还能够用来干什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Redis应该说是目前最受欢迎的NoSQL数据库之一了。Redis通常...
    99+
    2024-04-02
  • 2022了 为啥 php 还有这么多人在用?
    说实话,php成本就是低,真正懂点程序的老板都愿意招php。 我看市面上那些需求,基本上php都能搞定,php性能也没那么差,php无非是代码层面的东西,真正的性能瓶颈还是在数据库,项目搭起来,mq,缓存这才是用来解决性能问题的利器。 我之...
    99+
    2023-09-13
    php 开发语言
  • 用Python索引技术提高HTTP开发效率,你还在等什么?
    Python是一种高级编程语言,它拥有广泛的应用领域。作为一名开发人员,我们经常会遇到HTTP请求相关的开发任务。对于这样的任务,使用Python的索引技术可以提高开发效率。 Python中的索引技术是一种非常强大的工具。它可以帮助我们快速...
    99+
    2023-06-03
    索引 开发技术 http
  • 怎么查看是否在Windows11设备上启用了系统还原
    这篇文章主要讲解了“怎么查看是否在Windows11设备上启用了系统还原”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么查看是否在Windows11设备上...
    99+
    2023-04-21
    windows11
  • 澳洲亚马逊服务器炸了还能用吗?现在怎么办理手续
    1. 服务器炸了,还能使用吗? 澳洲亚马逊服务器炸了可能会导致一些服务中断或不可用,但具体情况取决于服务器的受损程度以及亚马逊的应急措施。亚马逊通常会采取措施来确保服务器的稳定性和可用性,以最大程度地减少对用户的影响。如果服务器受损严重,...
    99+
    2023-10-27
    亚马逊 澳洲 能用
  • Numpy容器在Python中的作用:为什么你需要了解它们?
    在Python编程中,Numpy容器是不可或缺的一部分。Numpy是一个Python库,它提供了用于处理大型多维数组和矩阵的工具。它是Python科学计算的基础,因此,了解Numpy容器及其功能是必不可少的。 Numpy数组是一个高效的、...
    99+
    2023-09-08
    容器 numpy 日志
  • 还在使用文件传输协议传输机密文件?你可能是对文件传输协议有什么误会
    文件传输协议(FTP)为用户提供了一种从一个位置临时向另一个位置发送文件和信息的简单方法。FTP提供了一种在计算机(或服务器)之间建立通信以进行文件传输的介质。尽管它仍然是一种广泛使用且被大众熟知的文件传输方法,但人们对FTP有诸多误解,以...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作