JAVA进化史: JDK15特性及说明

JDK 15于2020年9月发布。这个版本引入了一些新特性和改进,以下是其中一些主要特性

JEP 339:引入了EdDSA数字签名算法

引入了EdDSA数字签名算法,以提供更安全和高效的数字签名机制。

// 使用EdDSA进行数字签名
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EdDSA");
KeyPair keyPair = keyGen.generateKeyPair();Signature signature = Signature.getInstance("EdDSA");
signature.initSign(keyPair.getPrivate());byte[] data = "Hello, EdDSA!".getBytes();
signature.update(data);byte[] sign = signature.sign();

JEP 360: 进一步完善了密封类(Sealed Classes)的功能

进一步完善了密封类(Sealed Classes)的功能,允许更灵活地定义继承结构。

// 定义密封类
sealed interface Shape permits Circle, Square {// 接口的定义
}// 定义子类
final class Circle implements Shape {// Circle的定义
}final class Square implements Shape {// Square的定义
}

 JEP 356: 增强了伪随机数生成器

增强了伪随机数生成器,引入了更多的算法和功能

// 使用新的伪随机数生成器
RandomGenerator random = RandomGenerator.of("Xoshiro256PlusPlus");
int randomNumber = random.nextInt();

JEP 356:引入了Unix域套接字通道

引入了Unix域套接字通道,用于在同一主机上的进程之间进行本地通信。

// 使用Unix域套接字通道
UnixDomainSocketAddress address = UnixDomainSocketAddress.of("/tmp/socket");
try (AsynchronousSocketChannel channel = AsynchronousSocketChannel.open()) {channel.connect(address).get();// 进行本地通信
} catch (InterruptedException | ExecutionException | IOException e) {e.printStackTrace();
}

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

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

相关文章

视频剪辑达人分享:批量减片时时长并调整播放倍速的技巧

在视频剪辑中,经常要对多个视频片段进行时长调整和播放倍速的修改。如果一个个手动操作,不仅效率低下,还容易出错。如何快速批量处理这些片段呢?现在一起来看看云炫AI智剪批量减片时长并调整播放的具体步骤。 原视频和剪辑后的视…

蓝桥杯C组-填充-贪心

点击此处查看原题​​​​​​​ *思路:首先要求 00 11 尽可能的多,所以尽可能多的多配对,配对只在i , i 1之间发生,所以只需要关注str[i] 和 str[i 1]即可,如果str[i] str[i 1] ,那么一定配对&#x…

Linux系统SSH远程管理服务概述

目录 一.SSH协议 1.定义 2.优点 (1)加密 (2)压缩 3.SSH的客户端与服务端 (1)客户端 (2)服务端 4.原理 5.实验:使用ssh远程登录 二.OpenSSH服务器 1.概念 2.…

通过 C++/WinRT 将值装箱到 IInspectable 和对其取消装箱

备注 不仅可对标量值进行装箱和取消装箱,而可使用 winrt::box_value 和 winrt::unbox_value 函数对大多数类型的数组进行这类操作(枚举数组除外) 。 只能使用 winrt::unbox_value_or 函数对标量值取消装箱。 IInspectable 接口是 Windows 运…

C++ 并发编程 | 并发世界

一、C 并发世界 1、什么是并发? 并发是指两个或更多独立的活动同时发生,计算机中的并发指的是,在单个系统里同时执行多个独立的活动

CSS3动画效果详解

CSS3动画 在CSS3中,animation属性用于实现元素的动画。 animation属性跟transition属性在功能实现上是非常相似的,都是通过改变元素的属性值来实现动画效果。但是,这两者实际上有着本质的区别 对于transition属性来说,它只能将…

前缀数组-截断数组

3956. 截断数组 - AcWing题库 不愧为acwing的中等题,细节是真的多,又又又阴沟翻船了。 题目要我们分成三个数组,求解又集几种分法。普遍思路是首先求解数组总和,除以3求的平均值。 第一个注意点:如果数组给的数的数…

PADS 改变图纸和图页边界大小

PADS 改变图纸和图页边界大小 有时候画一画原理图发现画布不够用了,可改变图纸大小,对应的改变图页边界 若图页边界怎么选择都改变不了,可将途中图页边界删除,重新加载 选择对应的图页边距就好啦 分类: PADS

重学Java 4 进制转换和位运算

天赋不好好使用的话,可是会被收回的哦 ——24.1.13 一、进制转换 1.常用的进制 2.十进制和二进制之间的转换 1.十进制转二进制 辗转相除法——循环除以2,取余数,除到商为0为止,除完后,由下往上,得出换算后…

一文搞懂,Python网络爬虫

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。从功能上来讲,爬虫一般分为数据采集&…

虚拟主机 如何上传大于100M的文件 php网站程序

问题 虚拟主机上传文件大小限制100m, 有时会遇到非常大的文件上传,上传过程中耗时非常久, 可能服务器的限制设置了上传文件尺寸,返回“413 request entity too large” 整体逻辑 前端:上传文件时,进行文…

P1079 [NOIP2012 提高组] Vigenère 密码

一起来交流编程吧【CSDN app】: http://qm.qq.com/cgi-bin/qm/qr?_wv1027&kx9pL9ccIHGKNLE0CWviAqQ_q6HzxomLW&authKeyVslKe623ptw8VRepda%2Bh0Ttr8Ruz8v%2FBW5HpVzyTWU7ECwpHIZpULMj6qIHYZBVb&noverify0&gro [NOIP2012 提高组] Vigenre 密码 题…

R语言【paleobioDB】——pbdb_collection():从PBDB获取单个采集号的基本信息

Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 Usage pbdb_collection (id, ...) Arguments 参数【…

C语言——内存函数【memcpy,memmove,memset,memcmp】

📝前言: 在之前的文章C语言——字符函数和字符串函数(一)中我们学习过strcpy和strcat等用来实现字符串赋值和追加的函数,那么除了字符内容,其他的数据(例如整型)能否被复制或者移动呢…

【代码随想录】刷题笔记Day51

前言 周六刷题,闻所未闻吧兄弟,不用开组会简直太爽啦 300. 最长递增子序列 - 力扣(LeetCode) 子序列系列问题,用动态规划解决dp[i]含义 表示i之前包括i的以nums[i]结尾的最长递增子序列的长度递推公式 j从0到i-1各个…

揭示量化投资的神秘面纱:深入了解量化交易的核心原理!

随着科技的进步和大数据时代的到来,量化投资已成为金融市场的热门话题。但很多投资者对于量化投资的概念仍感神秘,不清楚其背后的原理和运作机制。本文将深入揭示量化投资的神秘面纱,帮助读者了解量化交易的核心原理。 量化投资的定义与起源 …

Docker 镜像

1、联合文件系统 UnionFS(联合文件系统):Union文件系统〈UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several dir…

CCF认证+蓝桥杯习题训练

贪心 *上取整公式* *代码展示* #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 1e5 10;typedef long long LL;int v[N] , a[N];int main() {int n , d;cin >> n >> d;for(int i 1 ; i < n…

函数式编程 - 组合compose的使用方法

函数式编程中有一个比较重要的概念就是函数组合&#xff08;compose&#xff09;,组合多个函数&#xff0c;同时返回一个新的函数。调用时&#xff0c;组合函数按顺序从右向左执行。右边函数调用后&#xff0c;返回的结果&#xff0c;作为左边函数的参数传入&#xff0c;严格保…

Linux环境下使用flv.js + websokect播放RTSP视频流

本文适用于Linux系统部署Web项目&#xff0c;通过浏览器播放RTSP视频流 背景 ​ 在最近的项目中&#xff0c;涉及到海康威视接入的视频监控播放问题&#xff0c;海康这边可以获取到的视频流是rtsp格式&#xff0c;web端目前没有直接可以播放的组件&#xff0c;于是查阅众多博…