当前位置: 首页 > news >正文

雁塔网站建设软文生成器

雁塔网站建设,软文生成器,学做美食网站哪个好,wordpress查看所有文章最近,Oracle发布了JDK20,相比对于Java开发者来说,JDK的发版是比较收关注的事情了,小简也来和大家一起了解了解JDK20发生了什么变化呢? 首先,JDK20是一个短周期版本,有6个月的维护时间&#xff0…

最近,Oracle发布了JDK20,相比对于Java开发者来说,JDK的发版是比较收关注的事情了,小简也来和大家一起了解了解JDK20发生了什么变化呢?

首先,JDK20是一个短周期版本,有6个月的维护时间,据开发者计划,下一个LTS也就长期维护版本将会在2023年9月份发布到来,也就是JDK21了。

目前JDK21也是推出了早期预览版本。

JDK 20 提供了来自 OpenJDK 项目 Amber 的语言改进(Switch 的记录模式和模式匹配),OpenJDK巴拿马项目的增强功能,以互连Java虚拟机(JVM)和本机代码(外部函数和内存API和矢量API),以及与 Project Loom 相关的功能(作用域值、虚拟线程和结构化并发),这些功能将大大简化编写、维护和观察高吞吐量并发应用程序的过程

Oracle 通过可预测的发布计划每六个月发布一次新的 Java 功能。这种节奏提供了源源不断的创新,同时不断改进平台的性能、稳定性和安全性,有助于提高 Java 在各种规模的组织和行业中的普遍性。

变化

Language Updates and Improvements

  • JEP 432: Record Patterns (Second Preview): Enhances the Java language by allowing users to nest record patterns and type patterns to create a powerful, declarative, and composable form of data navigation and processing. This helps increase developer productivity by enabling them to extend pattern matching to allow for more sophisticated and composable data queries.
  • JEP 433: Pattern Matching for Switch (Fourth Preview): By extending pattern matching to switch, an expression can be tested against a number of patterns—each with a specific action—so that complex data-oriented queries can be expressed concisely and safely. Expanding the expressiveness and applicability of switch expressions and statements helps increase developer productivity.

Project Loom Preview/Incubator Features

  • JEP 429: Scoped Values (Incubator): Enables the sharing of immutable data within and across threads, which are preferred to thread-local variables – especially when using large numbers of virtual threads. This increases ease-of-use, comprehensibility, robustness, and performance.
  • JEP 436: Virtual Threads (Second Preview): Significantly streamline the process of writing, maintaining, and observing high-throughput, concurrent applications by introducing lightweight virtual threads to the Java Platform. By enabling developers to easily troubleshoot, debug, and profile concurrent applications with existing JDK tools and techniques, virtual threads helps accelerate application development.
  • JEP 437: Structured Concurrency (Second Incubator): Simplifies multithreaded programming by treating multiple tasks running in different threads as a single unit of work. This helps development teams streamline error handling and cancellation, improve reliability, and enhance observability.

Project Panama Preview Features

  • JEP 434: Foreign Function & Memory API (Second Preview): Enables Java programs to interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the Java Virtual Machine [JVM]), and by safely accessing foreign memory (i.e., memory not managed by the JVM), this feature enables Java programs to call native libraries and process native data without requiring the Java Native Interface. This increases ease-of-use, performance, and safety.
  • JEP 438: Vector API (Fifth Incubator): Expresses vector computations that reliably compile at runtime to vector instructions on supported CPU architectures. This increases performance compared to equivalent scalar computations.

JDK20包含7个JEP,已经数百小功能点的变化。

JEP

JEPLanguage Updates and Improvements
432Record Patterns (Second Preview)
433Pattern Matching for Switch (Fourth Preview)
429Scoped Values (Incubator)
436Virtual Threads (Second Preview)
437Structured Concurrency (Second Incubator)
434Foreign Function & Memory API (Second Preview)
438Vector API (Fifth Incubator)

看不懂英文没关系,因为我也看不懂,只是去官方网站上整理下来的资料,我们可以翻译成中文再去查阅。

此段来自程序员DD大佬文章:

作用域值(Scoped Values)进入孵化阶段

引入 Scoped Values,它可以在线程内和线程间共享不可变数据它们优于线程局部变量,尤其是在使用大量虚拟线程时。

记录模式 (Record Patterns) 进入第 2 预览阶段

Record Patterns 可对 record 的值进行解构,Record patternsType patterns 通过嵌套能够实现强大的、声明性的、可组合的数据导航和处理形式

switch 模式匹配 (Pattern Matching for switch) 进入第 4 预览阶段

switch 表达式和语句的模式匹配,以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。

外部函数和内存 API (Foreign Function & Memory API) 进入第 2 预览阶段

引入一个 API,通过它,Java 程序可以与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数,以及安全地访问外部内存,该 API 使 Java 程序能够调用本地库并处理本地数据,而不会像 JNI 那样有漏洞和危险。

虚拟线程 (Virtual Threads) 进入第 2 预览阶段

Java 引入虚拟线程,虚拟线程是 JDK 实现的轻量级线程,它在其他多线程语言中已经被证实是十分有用的,比如 Go 中的 GoroutineErlang 中的进程。虚拟线程避免了上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量

结构化并发 (Structured Concurrency) 进入第 2 孵化阶段

JDK 19 引入了结构化并发,这是一种多线程编程方法,目的是为了通过结构化并发 API 来简化多线程编程,并不是为了取代 java.util.concurrent

结构化并发将不同线程中运行的多个任务视为单个工作单元,从而简化错误处理、提高可靠性并增强可观察性。也就是说,结构化并发保留了单线程代码的可读性、可维护性和可观察性。

向量 API (Vector API) 进入第 5 孵化阶段

向量计算由对向量的一系列操作组成。向量 API 用来表达向量计算,该计算可以在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于等效标量计算的性能。向量 API 的目标是为用户提供简洁易用且与平台无关的表达范围广泛的向量计算。

JDK21

计划于 2023 年 9 月发布一个 GA 和下一个 LTS 版本,目前JDK 21Proposed to Target 有两个 JEP

JEP 430,字符串模板(预览版),一种 JEP 类型的特性,提议使用字符串模板来增强 Java 编程语言,字符串模板类似于字符串字面量,但包含在运行时合并到字符串模板中的嵌入式表达式。该特性已被归类为 JDK 21Proposed to Target,但尚未正式公布审查日期。

JEP 431,序列集合,提议引入“一个组能新表示集合概念的接口,这些集合的元素按照定义良好的序列或顺序排列,作为集合的结构属性。”其动因是由于集合框架(Collections Framework)中缺乏定义良好的排序和统一操作集。该特性已被归类为 JDK 21Proposed to Target,但尚未正式公布审查日期。

然后在InfoQ中找到如下资料:

我们可以根据一些JEP草案和候选者推测哪些额外的JEP有可能被纳入JDK 21

由红帽的杰出工程师 Andrew Haley 和 Andrew Dinn 提交的 JEP 草案 8303358,作用域值(预览版)改进了即将发布的 JDK 429 中提供的 JEP 20,作用域值(孵化器)。以前称为*范围局部变量(孵化器),*在 Project Loom 的支持下,此功能建议在线程内和线程之间共享不可变数据。这优先于线程局部变量,尤其是在使用大量虚拟线程时。虽然该草案尚未达到候选状态,但描述明确指出该 JEP 将添加到 JDK 21 中。

JEP草案8277163,Value Objects(预览版)是Project Valhalla赞助的JEP的一项功能,它建议创建值对象 - 指定其实例行为的无标识值类。此草案与 JEP 401,基元类(预览版)相关,该类仍处于候选状态。

JEP 435,异步堆栈跟踪 VM API,一种功能 JEP 类型,建议定义一个有效的 API,用于从信号处理程序获取异步调用跟踪,以便从具有 Java 和本机帧信息的信号处理程序进行分析。

JEP 401,基元类(预览版)在Valhalla项目的主持下,引入了开发人员声明的基元类 - 特殊类型的值类 - 如上述值对象(预览版)JEP草案中所定义 - 定义新的基元类型。

JEP草案8301034,密钥封装机制API是JEP类型的一种功能,建议:满足标准密钥封装机制(KEM)算法的实现;通过更高级别的安全协议满足 KEM 的使用案例;并允许服务提供商插入 Java 或 KEM 算法的本机实现。此草案最近进行了更新,包括一项重大更改,该更改删除了 DerivedKeyParameterSpec 类,转而将字段放在**封装(int from, int to, String algorithm)** 方法的参数列表中。

JEP 草案8283227,JDK 源代码结构,一种信息性的 JEP 类型,描述了 JDK 存储库中 JDK 源代码和相关文件的整体布局和结构。本 JEP 建议帮助开发人员适应 JDK 201 中提供的 JEP 9 模块化源代码中所述的源代码结构。

JEP Draft 8280389,ClassFile API,建议提供一个用于解析、生成和转换 Java 类文件的 API。该JEP最初将作为JDK中Java字节码操作和分析框架ASM的内部替代品,并计划将其作为公共API开放。Oracle的Java语言架构师Brian Goetz将ASM描述为“一个带有大量遗留包袱的旧代码库”,并提供了有关该草案将如何演变并最终取代ASM的背景信息。

JEP 草案 8278252JDK 打包和安装指南,一个信息性的 JEP,建议提供在 macOS、Linux 和 Windows 上创建 JDK 安装程序的指南,以降低不同 JDK 提供商在 JDK 安装之间发生冲突的风险。其目的是通过正式化安装目录名称、包名称以及可能导致冲突的安装程序的其他元素,在安装 JDK 的更新发行版时提供更好的体验。

我们预计Oracle将很快开始为JDK 21提供更多的JEP

此段来自作者:

image.png

相关URL

甲骨文关于JDK20的发布新闻Oracle Releases Java 20 : https://www.oracle.com/news/announcement/oracle-releases-java-20-2023-03-21/

OpenJDKJDK20下载页面:https://jdk.java.net/20/

OpenJDKJDK21开发预览版本下载页面:https://jdk.java.net/21/

http://www.ho-use.cn/article/3456.html

相关文章:

  • 一站式做网站系统站长工具日本
  • wordpress网站好慢网络整合营销案例
  • 北京网站建设企业网站制作网站注册页面
  • dw 做的网站能用吗东莞百度seo推广公司
  • 网站建设 010seo关键词优化排名
  • 淘宝店铺 发布网站建设百度seo优化服务项目
  • 潍坊网站制作保定公司电话欧洲站fba
  • 沧州市网站制作百度网盘官网
  • wordpress字不能显示图片下载班级优化大师并安装
  • 一个网站建设需要多少人力百度推广怎么做最好
  • 广西城乡和建设厅网站青岛网站建设与设计制作
  • 兴义网站开发公司百度指数下载手机版
  • 日照营销型网站建设最让顾客心动的促销活动
  • 江苏易销 网站建设百度平台客服怎么联系
  • 做网站如何容易被百度抓取数据分析网官网
  • 一个网站的构建网络推广发展
  • 香港主机网站速度自媒体推广
  • 公司网站404汕头seo
  • 外贸网站制作公司技能培训学校
  • 网站开发运营维护方案建议推广一款app的营销方案
  • 网站制作中心新闻热点
  • 成都网站优化排名推广成都最新热门事件
  • 草桥有做网站公司吗网盘网页版
  • 网站策划图关键词歌词图片
  • 内销机械做哪个网站好seo常用的工具
  • 别样网站建设全网热度指数
  • 陕西省建设网三类人员官网福州百度快速优化
  • 淘客网站免费开源源码线上广告宣传方式有哪些
  • 企业所得税计算公式怎么算百度seo是什么意思
  • 西安网站的设计说明seo评测论坛