Java 15 新特性(JKD15)
Java 15 是 Java 语言的最新版本,于 2020 年 9 月 15 日正式发布。Java 15 中引入了许多新的特性和改进,以下是其中的一些主要特性。
1. Text Blocks
Java 15 中的 Text Blocks 特性已经从预览状态升级为标准特性。Text Blocks 可以用来简化字符串 literals,可以包含多行字符串,并且可以使用缩进和空格来格式化字符串。
String multiLineString = """This is amulti-line string.""";
2. Pattern Matching for instanceof
Java 15 中的 Pattern Matching for instanceof 特性已经从预览状态升级为标准特性。Pattern Matching for instanceof 可以用来简化 instanceof 语句,可以用来检查对象是否为某个类型,并且可以返回对应的对象。
Object obj = new String("hello");
if (obj instanceof String s) {System.out.println(s.length()); // prints 5
}
3. Sealed Classes
Java 15 中的 Sealed Classes 特性已经从预览状态升级为标准特性。Sealed Classes 可以用来限制类的继承关系,可以使用 sealed 语法来定义类的子类。
sealed abstract class Animal permits Mammal, Bird {abstract void sound();
}final class Mammal extends Animal {@Overridepublic void sound() {System.out.println("Mammal makes a sound");}
}final class Bird extends Animal {@Overridepublic void sound() {System.out.println("Bird makes a sound");}
}
4. Records
Java 15 中的 Records 特性已经从预览状态升级为标准特性。Records 可以用来简化对象的创建和访问,可以使用 getter 和 setter 方法来访问对象的状态。
public record Person(String name, int age) {public String getName() {return name;}public int getAge() {return age;}
}
5. Hidden Classes
Java 15 中的 Hidden Classes 特性可以用来隐藏类的实现细节,可以使用 hidden 语法来定义隐藏的类。
hidden class HiddenClass {public void hiddenMethod() {System.out.println("This is a hidden method");}
}
6. Foreign Function & Memory API
Java 15 中的 Foreign Function & Memory API 可以用来访问外部函数和内存,可以使用 C 语言中的函数来访问 Java 语言中的对象。
public class Main {public static native void printHello();static {System.loadLibrary("main");}public static void main(String[] args) {printHello();}
}
7. HttpClient
Java 15 中的 HttpClient 可以用来简化网络请求,可以使用 fluent API 来创建 HTTP 请求。
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://www.example.com")).GET().build();
client.send(request, HttpResponse.BodyHandlers.ofString());
8. JEP 380: Switch Expressions
Java 15 中的 Switch Expressions 可以用来简化 switch 语句,可以使用 switch 语句来返回值。
String day = "Monday";
String result = switch (day) {case "Monday", "Tuesday", "Wednesday" -> "Weekday";case "Thursday", "Friday", "Saturday", "Sunday" -> "Weekend";default -> "Invalid day";
};
相关文章:
Java 15 新特性(JKD15)
Java 15 是 Java 语言的最新版本,于 2020 年 9 月 15 日正式发布。Java 15 中引入了许多新的特性和改进,以下是其中的一些主要特性。 1. Text Blocks Java 15 中的 Text Blocks 特性已经从预览状态升级为标准特性。Text Blocks 可以用来简化字符串 lit…...
电脑添加虚拟网卡与ensp互联,互访
一、按照过程 1、打开设备管理器 2、点击网络适配器,点击左上角操作,点击“添加过时硬件” 3、下一页 4、选择“安装我手动从列表选择的硬件”,下一页 5、下拉,选择“网络适配器”,下一页 6、厂商选择“Microsoft”&…...
Kylin系列(一)入门
Kylin系列(一)入门 Apache Kylin是一个开源的分布式分析引擎,最初由eBay开发并贡献至Apache软件基金会。它专为大数据场景设计,能够在Hadoop之上提供低延迟的在线分析处理(OLAP)查询。Kylin通过预计算技术,将复杂的数…...
Mysql大单表JSON优化
优化方案 MySQL 8.0.32 中,有几种方法可以优化存储 JSON 字符串的数据表。以下是一些建议,可以帮助您减少存储空间: 使用压缩: MySQL 8.0 支持表级压缩,可以通过修改表来启用压缩。 ALTER TABLE your_table ROW_FORMATCOMPRESS…...
智能硬件创新实训平台-嵌入式、物联网、移动互联网、人工智能实验实训教学平台
智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能。智能化之后,硬件具备连接的能力,实现互联网服务的加载,形成“云端”的典型架构,…...
opencv c++ python等比缩小或放大显示图片代码
c代码,其中scale_percent用来设置百分比,例如50 就是百分之五十,也就是一半的大小,当然也可以设置成200,相当于原来的2倍大小,注意图片路径换成实际路径。 #include <opencv2/opencv.hpp>int main()…...
程序编译及链接
你好!感谢支持孔乙己的新作,本文就程序的编译及链接与大家分析我的思路。 希望能大佬们多多纠正及支持 !!! 个人主页:爱摸鱼的孔乙己-CSDN博客 1.翻译译环境与运行环境 当我们进行程序设计时&…...
逻辑推理复杂推理能力评估之大模型微调(Datawhale AI 夏令营)
在逻辑推理任务中,我们采用了LoRA(Low-Rank Adaptation)技术对大模型进行微调。LoRA是一种高效的模型微调方法,通过引入低秩矩阵调整模型权重,从而实现对大型预训练语言模型的适应性调整。LoRA的主要优势包括对不同下游…...
pikachu漏洞平台~文件包含漏洞
在PHP程序中使用文件包含的对象可以被前端的用户控制且没有经过过滤或严格的定义,用户可以将其他的文件作为参数带入到PHP代码中解释执行,从而造成敏感信息泄露/程序文件读取/GetShell等危害的漏洞。 0x01文件包含漏洞 连接成功,完毕&#x…...
linux系统编程中Shell脚本配置,及man test命令手册
Shell脚本配置是指在脚本中设置各种参数、选项和环境,以确保脚本能够根据预期的需求和环境执行。配置可以包括变量设置、环境变量、命令选项和错误处理等。 1. 脚本开头的配置 Shebang 第一行通常是shebang,它告诉系统使用哪个解释器来执行脚本。例如…...
【康复学习--LeetCode每日一题】572. 另一棵树的子树
题目: 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree …...
OpenAI Function Call实现大模型agent自己判断用工具、上网搜索或直接大模型回答案例
参考: https://blog.csdn.net/weixin_42357472/article/details/140891660?spm=1001.2014.3001.5501 大模型用的deepseek 1)写了两个function,一个是天气工具,一个是搜索工具 2)大模型Function Call自己判断内容属于哪个工具就去调用对应工具 3)如果大模型Function Call…...
文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑源-荷不确定性的省间电力现货市场潮流风险概率评估》
本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...
JAVA中实现线程安全的三种方式
JAVA中实现线程安全的三种方式 1. 同步代码块2. 同步方法3. ReentrantLock4. 总结 💖The Begin💖点点关注,收藏不迷路💖 1. 同步代码块 使用synchronized关键字加在需要同步的代码块上,并指定一个锁对象。这种方式可以…...
3个二创文案生成器,让文案创作变简单
在当今数字时代,内容创作已经成为了一项非常重要的工作。无论是为了推广产品、营销服务,还是仅仅为了吸引读者,优质的文案都是至关重要的。然而,对于许多人来说,写出令人印象深刻的文案并不容易。这就是为什么二创文案…...
Java 属性拷贝 三种实现方式
第一种 List<OrederPayCustomer> orederPayCustomerList this.list(queryWrapper); List<CustomerResp>customerRespListnew ArrayList<>();for (OrederPayCustomer orederPayCustomer : orederPayCustomerList) {CustomerResp customerResp new Custome…...
C++: 如何把源码编译成SDK提供第三方使用
在我们开发过程中,经常会遇到提供SDK的情况,对于C语言,是可以方便地将源码封装成静态库或者动态库然后打包提供给第三方使用的。这样,一方面可以保护源码,另一方面也简化了对方的使用过程。 目录 一、关于动态库和静态…...
redis详细介绍
Redis是一个开源的、基于内存的高性能键值对数据库,属于NoSQL数据库的一种。它以高性能、丰富的数据结构、持久化特性、复制、集群以及发布/订阅等特性而闻名。以下是Redis的详细介绍: 一、基本介绍 名称:Redis,全称Remote Dicti…...
jar命令
文章目录 jar命令摘要 一、引言二、正文内容2.1 jar解压jar包2.2 重新打成jar包2.3 步骤2.4 sh脚本文件 jar命令 摘要 jar命令 一、引言 jar命令 二、正文内容 2.1 jar解压jar包 \# 解压 jar -xvf test.jar 2.2 重新打成jar包 jar -uvf0 marriage-admin-1.0.0.jar.j…...
CentOS上面的MySQL安装~~~保姆级教程
目录 0.声明 1.下载官网包包 2.新建文件夹,把rpm拖拽进来 3.安装yum源,查看前后变化 4.安装mysql服务 5.查看是否安装成功 6.出现报错的解决方案 7.启动MySQL 8.查看启动服务 9.配置文件 10.重新运行 11.免密码登录 12.再谈配置文件 0.声明…...
数组的复制
需求:现在有一个数组arr{1,2,3},然后有另外一个数组temp{99,100},现在需要将temp复制到arr。 java public class test1 {public static void main(String[] args) {int arr1[] new int[]{1,2,3};int temp[] new int[]{99,100};arr1 temp;System.out.p…...
Python RPA流程自动化机器人简单案例
RPA(Robotic Process Automation,机器人流程自动化)是一种通过软件机器人模拟和执行人类用户在计算机上的操作的技术。 下面是pyautogui 键盘操作的常见参数说明: https://blog.csdn.net/wydyzq12/article/details/122008396 以…...
在git中如何忽略.vscode目录?
在Git中,如果你想忽略某个特定的文件或目录(比如.vscode目录),你可以通过以下步骤来实现: 创建或编辑.gitignore文件 在项目的根目录下,如果还没有.gitignore文件,你需要创建一个。如果已经有了…...
python脚本:连接数据库,检查直播流是否可用
使用的是MySQL数据库 需要使用mysql-connector-python库来连接MySQL数据库。首先,请确保你已经安装了这个库,如果没有安装,可以通过以下命令安装: pip install mysql-connector-python假设: MySQL数据库已经配置好,并且有一个名为live_streams的表,其中包含至少两列:…...
MFC修改鼠标光标形状
1.新建项目 2.添加资源Cursor 3.添加鼠标移动响应函数,用于显示鼠标光标形状 void C修改鼠标光标View::OnMouseMove(UINT nFlags, CPoint point) {// TODO: 在此添加消息处理程序代码和/或调用默认值CRect rc;GetClientRect(&rc);if (point.x < rc.right / …...
【英语语法】限定性定语从句与非限定性定语从句(先行词概念)
文章目录 英语语法:限定性定语从句与非限定性定语从句详解1. 限定性定语从句1.1 定义与功能1.2 使用关系代词和关系副词示例句子: 1.3 标点和语调 2. 非限定性定语从句2.1 定义与功能2.2 使用关系代词示例句子: 2.3 标点和语调 3. 区别和选择…...
web小游戏开发:2048(完)移动操作及动画效果
web小游戏开发:2048(完)移动操作及动画效果 添加随机数字游戏开始时的初始化显示分数移动和合并获取行列元素下标记录移动轨迹完整的 js小结添加随机数字 书接前文,我们在前边定义了一个 move 方法,暂时先往后放放。 在我们已经初始化好的界面上,我们需要先制作一个出现…...
pythonflaskMYSQL自驾游搜索系统32127-计算机毕业设计项目选题推荐(附源码)
目 录 摘要 1 绪论 1.1研究背景 1.2爬虫技术 1.3flask框架介绍 2 1.4论文结构与章节安排 3 2 自驾游搜索系统分析 4 2.1 可行性分析 4 2.2 系统流程分析 4 2.2.1数据增加流程 5 2.3.2数据修改流程 5 2.3.3数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性分析 6 2.3.2 非功…...
(学习总结10)C++类和对象1
C类和对象1 一、类的定义1.类定义格式2.访问限定符3. 类域 二、实例化1.实例化概念2.对象大小 三、this指针四、C和C语言实现Stack对比 以下代码环境在 VS2022。 一、类的定义 1.类定义格式 class 为定义类的关键字,Stack 为类的名字, { } 中为类的主体…...
python 中 file.read(), file.readline()和file.readlines()区别和用法
python 中 file.read(), file.readline()和file.readlines()区别和用法 文章目录 python 中 file.read(), file.readline()和file.readlines()区别和用法1. file.read()2. file.readline()3. file.readlines()4. 总结5. 注意事项 file.read(), file.readline(), 和 file.readli…...
车辆出险报告(h5)-车辆出险记录接口-车辆相关接口
接口简介:通过vin及行驶证查询车辆出险、理赔、事故记录接口。查询成功率99%,返回URL地址的查询报告。 不能对返回的报告进行任何的修改,否则由用户自行承担相应的责任 报告结果只保留30天,如需永久保存,请您查询后自行保存 接口地…...
如何在 Next.js 中实现分页
一.介绍 分页功能可将大型数据集划分为可管理的块,从而帮助管理它们。您可以在 Next.js 的服务器端或客户端实现分页。这里有一份精简的入门指南。 1. 服务器端分页 1.1 创建 API 路由 设置 API 路由来处理分页。 // pages/api/posts.js export default async …...
Mockito基础入门
Mockito 快速入门教程 概述 Mockito 是一个流行的Java单元测试Mock框架,用于接口和数据模拟。 依赖安装 <dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>3.12.4</version>…...
o(∩_∩)o设置代理访问博客(五)o(∩_∩)o --使用BeeWare打包应用
背景: 最近了解了一个新的打包框架BeeWare,据说他支持的平台要比nuitka更多。利用之前访问博客的脚本,来尝试一下打包windows应用程序。 BeeWare 从零开始 环境:python -m pip install briefcase 使用pycharm新建了一个名为bee…...
使用GPT-4o mini融合GraphRAG技术进行实战应用
什么是gpt-4o mini OpenAI 推出 GPT-4o mini,这是他们最具成本效益的小型模型。它的定价为每百万输入代币 15 美分,每百万输出代币 60 美分,比之前的 Frontier 型号便宜一个数量级,比 GPT-3.5 Turbo 便宜 60% 以上。目前…...
嵌入式人工智能(45-基于树莓派4B的扩展板-舵机驱动板PCA9685)
1、简介 智能小车、机械臂、摄像头云台会有多个舵机,而微控制器芯片的PWM输出引脚不够的情况下,就可以用PCA9685(16路舵机)来解决这一问题。 PCA9685是一款I2C总线控制的16通道LED控制器,专为红/绿/蓝/琥珀ÿ…...
3.11.样式迁移
样式迁移 使用卷积神经网络,自动的将一个图像中的风格应用在另一图像之上,即样式迁移(style transfer) 为了完成这一过程,我们需要两张输入图像:一张是内容图像,一张是风格图像,随后使用神经网络修…...
Spring统一返回类型中关于String的问题
文章目录 1. 问题铺垫2. 解决方法3. 问题分析4 解决方法解释 1. 问题铺垫 首先设置了以下代码统一处理返回类型 ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {Overridepublic boolean supports(MethodParameter returnType, Class converte…...
Python酷库之旅-第三方库Pandas(065)
目录 一、用法精讲 256、pandas.Series.sparse方法 256-1、语法 256-2、参数 256-3、功能 256-4、返回值 256-5、说明 256-6、用法 256-6-1、数据准备 256-6-2、代码示例 256-6-3、结果输出 257、pandas.DataFrame.sparse方法 257-1、语法 257-2、参数 257-3、功…...
Go语言标准库中的双向链表的基本用法
什么是二分查找区间? 什么是链表? 链表节点的代码实现: 链表的遍历: 链表如何插入元素? go语言标准库的链表: 练习代码: package mainimport ("container/list""fm…...
Cocos Creator2D游戏开发(9)-飞机大战(7)-爆炸效果
这个爆炸效果我卡在这里好长时间,视频反复的看, 然后把代码反复的测试,修改,终于给弄出来 视频中这段,作者也是修改了好几次, 跟着做也走了不少弯路; 最后反正弄出来了; 有几个坑; ① 动画体创建位置是enemy_prefab ② enemy_prefab预制体下不用放动画就行; ③ 代码中引用Anima…...
Redis入门概述
Redis 概述 Redis 是速度非常快的非关系型(NoSQL)基于内存的键值数据库。 键的类型只能为字符串,值可以支持五种数据类型:字符串(stirng)、列表(list)、集合(set)、散列表(hash)、有…...
Cursor搭配cmake实现C++程序的编译、运行和调试
Cursor搭配cmake实现C程序的编译、运行和调试 Cursor是一个开源的AI编程编辑器,开源地址https://github.com/getcursor/cursor ,它其实是一个集成了Chat-GPT的VS Code。 关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好&…...
读零信任网络:在不可信网络中构建安全系统09用户信任
1. 用户信任 1.1. 将设备身份和用户身份混为一谈会导致一些显而易见的问题 1.1.1. 特别是当用户拥有多台设备时,而这种情况很普遍 1.1.2. 应该针对不同类型的设备提供相匹配的凭证 1.1.3. 在存在共用终端设备的情况下,所有的这些问题将更加凸显 1.2…...
二叉树的实现 c语言
注:层序所需的队列文件请参考 C语言 实现栈(顺序表)和队列(链表)-CSDN博客 一、 BTree.h 函数包含: // 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树 // 二叉树销毁 // 二叉树节点个数 // 二叉树叶子节点个数 // 二叉树第k层节点个数 /…...
【Git】如何优雅地使用Git中的tag来管理项目版本
目录 tagtag 和 branch区别操作命令打tag,当前分支标记tag提交到远程服务器删除本地tag删除远程tag切换到特定的tag查看所有tag查看标签详细信息 好书推荐 tag Git中的tag(标签)用于给项目在特定时间点(某个版本发布)…...
白骑士的PyCharm教学进阶篇 2.3 测试与自动化
系列目录 上一篇:白骑士的PyCharm教学进阶篇 2.2 高级调试技术 在现代软件开发中,测试和自动化是保证代码质量和项目稳定性的重要环节。PyCharm作为一款强大的Python IDE,提供了丰富的工具来支持单元测试和自动化测试。本篇将详细介绍单元测…...
spark写入redis报错空指针
aused by: java.lang.NullPointerException 1、spark集群 每个executor是否 与redis集群 网络策略是否通 2、写入redis的数据是否 有 null值 需要把null值 转成空字符串 3、可以用 pipleline 并行写数据...
【Material-UI】Autocomplete中的禁用选项:Disabled options
文章目录 一、简介二、基本用法三、进阶用法1. 动态禁用2. 提示禁用原因3. 复杂的禁用条件 四、最佳实践1. 一致性2. 提供反馈3. 优化性能 五、总结 Material-UI的Autocomplete组件提供了丰富的功能,包括禁用特定选项的能力。这一特性对于限制用户选择、提供更好的用…...
力扣287【寻找重复数】
给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…...
田地烧秸秆致人死亡?肇事者被抓 村民制止火情遇难
田地烧秸秆致人死亡?肇事者被抓11月14日,网络上流传一则消息,称哈尔滨双城区万隆乡发生了一起烧荒事件,导致一人死亡。视频中可以看到,一名村民倒在田地里,身体及周围土地有明显的过火痕迹,不远处的秸秆仍在燃烧。据视频拍摄者表示,这名村民在试图制止火情时不幸身亡。…...
湖南江永:买新建商品房补贴契税 购房契税全额返还
近日,湖南省永州市江永县人民政府办公室发布了《关于进一步促进江永县房地产市场平稳健康发展的六项举措》的通知。根据通知,在江永县范围内购买新建商品房(包括住宅和非住宅),并在签订商品房买卖网签合同后全额缴纳交易契税的自然人,将获得由县财政部门提供的相当于其缴…...
60个离婚律师把麦琳当典型研讨 综艺案例引热议
11月12日,武汉一家律所组织60位离婚律师集体观看《再见爱人4》第三期麦琳片段,并将其作为典型案例进行研讨,引发热议。李行亮与妻子麦琳参加的这档婚姻纪实观察真人秀节目播出后,观众围绕全职太太麦琳展开了广泛讨论,“麦琳拧巴”“麦琳到底想要什么”等话题登上热搜。婚姻…...
海口餐厅回应张贴逃单者照片 无奈之举引发讨论
顾客用餐后逃单怎么办?海口一家茶餐厅将逃单者照片公开张贴在店门口和店内,希望以此迫使当事人主动上门偿还餐费,此举引发不少市民关注。海口市振兴南路谷粒香老爸茶餐厅门前张贴了逃单者的截屏图片。市民陆先生反映,该餐厅因多次出现食客用餐后逃单现象,一气之下将当事人…...
博格丹变身珠海航展“热门打卡点” 传奇试飞员受热捧
第十五届珠海航展于11月12日开幕,俄罗斯第五代隐身战机苏-57首次亮相中国。同时,62岁的传奇试飞员谢尔盖博格丹也吸引了大量关注。12日下午,在苏-57静态展示区,媒体和军迷与这位传奇人物进行了近距离接触。博格丹在苏-57座舱内接受多家俄罗斯媒体采访,并不时下到地面与中俄…...
习近平对广东珠海市驾车冲撞行人案件作出重要指示
习近平对广东珠海市驾车冲撞行人案件作出重要指示强调全力救治伤员 依法严惩凶手加强风险源头防控 严防发生极端案件李强作出批示11月11日晚,广东珠海市香洲区体育中心发生驾车冲撞行人案件,截至目前,已造成35人死亡、43人重伤。(详情>>>)案件发生后,中共中央总…...