Java 17的新特性

9e01563e24c94a9a892d97586ee290d3.jpgJava 17引入了多项新特性,以下是一些重要的更新:

 

增强的伪随机数生成器(JEP 356)

Java 17为伪随机数生成器(PRNG)提供了新的接口类型和实现,包括可跳转的PRNG和另一类可拆分的PRNG算法(LXM)。这些新的PRNG算法使得开发者更容易在应用程序中互换使用各种PRNG算法。

删除弃用的Applet API(JEP 398)

Java 17中,Applet API被彻底删除。Applet API曾用于编写在Web浏览器端运行的Java小程序,但由于安全和实用性的原因,它已经被废弃多年。

switch表达式增强(JEP 406)

Java 17对switch表达式进行了增强,包括对switch表达式的模式匹配进行了优化。这些改进可以让开发者更方便地使用switch表达式来进行条件判断和分支控制。

密封类(Sealed Classes)(JEP 409)

密封类允许开发者限制一个类的继承范围或一个接口的实现范围,确保它只能被指定的子类继承或指定的类实现。这有助于提高代码的安全性和可控性。

删除实验性的AOT和JIT编译器(JEP 410)

Java 17删除了实验性的Ahead-Of-Time (AOT) 和Just-In-Time (JIT) 编译器,因为这些编译器自推出以来很少使用,维护它们所需的工作量很大。

删除弃用的安全管理器(JEP 411)

Java 17弃用了安全管理器,以便在未来的版本中删除。安全管理器曾经是保护客户端Java代码的主要方法,但随着时间的推移,它的作用越来越小。

外部函数和内存API(JEP 412)

Java 17引入了对外部函数和内存API的支持,这允许Java程序与Java运行时之外的代码和数据进行互操作,提高了Java程序的灵活性和效率。

向量(Vector)API(JEP 414)

向量API提供了一个API的初始迭代以表达一些向量计算,这些计算在运行时可靠地编译为支持的CPU架构上的最佳向量硬件指令,从而获得优于同等标量计算的性能。

以上是Java 17的一些主要新特性,还有其他一些改进和优化,以提升Java编程的开发体验和性能。

 

参考:

[1]:https://javaguide.cn/java/new-features/java17.html

[2]:https://blog.csdn.net/xy520521/article/details/139280196

[3]:https://blog.csdn.net/weixin_42201180/article/details/133957082

[4]:https://www.cnblogs.com/zhrb/p/18246475

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公开整理-中国海关进出口增减数据(2008-2024年)

数据来源:东方财富网 时间跨度:2008年至今 数据范围:全国范围 数据指标: 年月 当月出口额-金额 当月出口额-同比增长 当月出口额-环比增长 当月进口额-金额 当月进口额-同比增长 当月进口额-环比增长 累计…

SCI一区TOP|常青藤优化算法(IVYA)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4 .参考文献5.代码获取 1.背景 2024年,M Ghasemi受到自然界中常青藤生长行为启发,提出了常青藤优化算法(Ivy Algorithm, IVYA)。 2.算法原理 2.1算法思想 IVYA模拟常青…

【Linux】环境基础开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile)

文章目录 Linux 软件包管理器 yumLinux开发工具Linux编辑器-vim使用vim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行模式各命令汇总批量化注释和批量化去注释vim简单的配置解决一个小问题 Linux编译器-gcc/g作用gcc/g 语法预处理编译汇编链接什么是函数库 Linux调…

【后端】websocket学习笔记

文章目录 1. 消息推送常见方式1.1 轮询 VS 长轮询1.2 SSE(server-sent event)服务器发送事件 2. websocket介绍2.1 介绍2.2 原理2.3 websoket API2.3.1 客户端【浏览器】API2.3.2 服务端API 3. 代码实现3.1 流程分析3.2 pom依赖3.3 配置类3.4 消息格式3.5 消息类 4.…

Weevil-Optimizer象鼻虫优化算法的matlab仿真实现

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 Weevil-Optimizer象鼻虫优化算法的matlab仿真实现,仿真输出算法的优化收敛曲线,对比不同的适应度函数。 2.测试软件版本以及运行结果展示…

Linux - 进程

一、什么是进程 首先,Linux是一个多用户多进程的操作系统,系统上可以同时运行多个进程。 进程的产生:①是在执行程序或者命令时产生的;②定时任务进程 进程的类型:前台进程/后台进程 前台进程:一个终端…

WDC西部数据闪存业务救赎之路,会成功吗?

一、序言 在存储界的江湖里,WDC就像是一位手握两大秘籍(闪迪和铠侠NAND工厂)的武林高手,本以为能在企业级SSD的擂台上大展身手,结果却发现自己更像是被误邀参加学霸聚会的学渣,心里那个苦啊,只…

Java15-API

目录 Math类 概述 常见方法 练习 System类 概述 常见方法 Runtime 概述 常见方法 Object类 概述 常见方法 一.演示toString方法 二.演示equals方法 三、对象克隆 分类: 浅克隆 深克隆: Objests类 概述 常见方法 BigInteger类 概…

jenkins安装和使用 (二)

参考视频资料 https://www.bilibili.com/video/BV1bS4y1471A?p10&vd_sourcee0dcd147bd5d730317de804d788cd6f9 安装maven插件 新建item 配置构建信息 项目地址替换为自己的实际地址 其余保持先保持默认 先然后在主页就看到了这个项目 查看控制台输出 稍等一…

李宏毅2023机器学习作业HW06解析和代码分享

ML2023Spring - HW6 相关信息: 课程主页 课程视频 Sample code HW06 视频 HW06 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. HW06 是在 Judgeboi 上提交的,出于学习目的这里会自定义两个度量的函数,不用深究,遵循 Sugge…

【计算机毕业设计】211校园约拍微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

网工内推 | 中国电信、香港宽频系统工程师,CCIE认证优先,最高年薪25w

01 中国电信股份有限公司浙江分公司 🔷招聘岗位:系统架构师 🔷岗位职责: 1、做好客户网络和信息安全产品的解决方案支撑、交付及后续运营维护,做好相关产数项目的支撑。 2、根据信息安全管理要求,负责客户…

调取Windows系统虚拟键盘

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using System.Diagnostics;namespace 调取Windows虚拟键盘 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void richTextBox1_DoubleClick(object sender, EventArgs e){Proces…

Cloudflare API 令牌完整指南:快速掌握查询与创建(手把手教你查询和创建 Cloudflare API 令牌)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Cloudflare API 令牌 📒📝 查询 Cloudflare API 令牌📝 创建编辑区域 DNS 令牌⚓️ 相关链接 ⚓️📖 介绍 📖 在管理网站和应用程序时,Cloudflare 提供了强大的 API 接口,可以极大地简化各种操作。本文将详细介绍如…

Debian12安装Nvidia官方驱动

1、下载驱动(下载到一个英文目录例如你的用户目录/home/用户名下,我下载到dowload目录,由于默认显示中文,在命令行不支持中文显示的是一串数字,当然你仍然可以cd 那串数字进目录,显示有有引号就加引号&…

【宠粉赠书】科技图表绘制:R语言数据可视化

为了回馈粉丝们的厚爱,今天小智给大家送上一套科研绘图的必备书籍——《R语言数据可视化:科技图表绘制》。下面我会详细给大家介绍这套图书,文末留有领取方式。 图书介绍 《R语言数据可视化:科技图表绘制》结合编者多年的数据分析…

PLC模拟量和数字量到底有什么区别?

PLC模拟量和数字量的区别 在工业自动化领域,可编程逻辑控制器(PLC)是控制各种机械设备和生产过程的核心组件。PLC通过处理模拟量和数字量来实现对工业过程的精确控制。了解模拟量和数字量的区别对于设计高效、可靠的自动化系统至关重要。 1. …

C++之STL(二三)

1、vector源码刨析 1.1、数据结构以及动态扩充算法 其实vector内部有三个指针,分别是数据的第一个元素Myfirst、数据的最后一个元素的下一个位置Mylast,最后一个空间的下一个位置Myend;当你插入数据的时候,先判断当前容量够不够&…

尚品汇项目2

p68 加入产品个数操作 p69 加入购物车

立讯精密:“果链一哥”怎么摆脱依赖症

AI手机创新赋能,隔岸苹果股价走出历史新高,消费电子有望迎来复苏? 这里我们聊聊苹果产业链代工龙头——立讯精密 作为早早入场的代工企业,立讯精密曾经吃足“果链”红利,如今摆在它面前的是增长、毛利、安全等难题。 …