从“匿名函数”到“代码简化神技”:彻底吃透 Lambda、函数式接口与方法引用的三角关系
从“匿名函数”到“代码简化神技”:彻底吃透 Lambda、函数式接口与方法引用的三角关系
要深入理解函数式接口、Lambda 表达式和方法引用之间的关系,我们可以从核心概念、使用场景和底层逻辑三个维度展开:
一、函数式接口: Lambda 和方法引用的「载体」
函数式接口是整个体系的基础,它的定义非常严格:
必须是接口(不能 ...
12K+ Star!新一代的开源持续测试工具!
大家好,我是 Java陈序员。
在企业软件研发的持续交付流程中,测试环节往往是影响效率的关键瓶颈,用例管理混乱、接口调试复杂、团队协作不畅、与 DevOps 流程脱节等问题都能影响软件交付。
今天,给大家介绍一款开源持续测试工具,让测试工作变得简单高效!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分 ...
PriorityQueue 数据结构底层原理、源码实现可视化分析及应用实战
本文将从数据结构底层原理 + 源码实现 + 应用实战三方面深入剖析 PriorityQueue,让你真正掌握优先队列的底层逻辑及其应用。
源码可视化视频:https://www.bilibili.com/video/BV12Ha5zjEcS/
在玩游戏的时候,发现需要购买的装备很多,而且不同的英雄需要购买的装备还不一样,打游戏的时候需要更多精力去关注买什么装备才 ...
Java深拷贝与浅拷贝核心解析
Java深拷贝与浅拷贝的概念
浅拷贝(Shallow Copy)只复制对象的引用,而不复制对象本身。拷贝后的对象和原对象共享同一块内存地址中的子对象。修改其中一个对象的非基本类型属性时,另一个对象的对应属性也会被修改。
深拷贝(Deep Copy)会复制对象及其所有子对象,生成一个完全独立的新对象。拷贝后的对象和原对象完全 ...
Java项目打包成EXE全攻略
一、使用 exe4j 打包 Java 项目
exe4j 的官方网站是 https://www.ej-technologies.com/products/exe4j/overview.html。
准备 Java 项目 确保 Java 项目已编译为可执行的 JAR 文件,并确认所有依赖项(如第三方库)已正确包含在 JAR 中或位于同一目录下。
下载并安装 exe4j 从 exe4j 官网下载并安装 exe4j,安装完成 ...
挑战用飞算JavaAI 半小时搭建 spring boot 入门程序 #飞算JavaAI炫技赛 #Java开发
挑战用飞算JavaAI 半小时搭建 spring boot 入门程序 #飞算JavaAI炫技赛 #Java开发
文章标签:【飞算JavaAl炫技赛】 【Java开发】
飞算 JavaAI 介绍
https://www.feisuanyz.com 是 飞算 Java AI 开发助手 的官方网站。飞算 JavaAI 是一个专为 Java 开发者设计的 AI 编程助手,主要功能包括:
智能需求分析与代码生成:开发 ...
CentOS 8 安装Docker 报错requires container-selinux >= 2:2.x
什么是 Docker
简单来说,Docker 是一个开源的容器化平台,它可以让你:把应用程序和它所有的依赖打包到一个“容器”中运行。
在传统部署中,你可能遇到这样的问题:
“在我机器上能跑啊,怎么你那里就出错了?”
这通常是因为你们的环境(系统版本、依赖库、配置)不一致。
而 Docker 可以彻底解决这个问题。
安装 Docke ...
贷超系统的业务流程与系统设计
一、引言
本文介绍了贷超系统的业务流程、系统设计相关内容。主要是对自己之前参与设计、开发贷超系统的一点记录
二、核心业务流程设计
2.1 渠道用户注册流程
联登: 用户在渠道方传入手机号 → 渠道方调用我方注册接口 → 我方将用户手机号注册,并与渠道方进行绑定 → 返回下载页链接
撞库联登: 用户在渠道方传入手机 ...
一文带你了解缓存和数据库一致性问题
概述
缓存作为持久化存储(如数据库)的辅助存在,毕竟属于两套系统。理想情况下是缓存数据与数据库中数据完全一致,但是业务最常使用的旁路缓存架构下,在一些分布式或者高并发的场景中,可能会出现缓存不一致的情况。
在分布式系统中,数据一致性是一个核心问题。根据系统的设计与需求,可以选择实时强一致性(Strong Cons ...
剑指offer-25、复杂链表的复制
题⽬描述
输⼊⼀个复杂链表(每个节点中有节点值,以及两个指针,⼀个指向下⼀个节点,另⼀个特殊指针random 指向⼀个随机节点),请对此链表进⾏深拷⻉,并返回拷⻉后的头结点。(注意,输出结果中请不要返回参数中的节点引⽤,否则判题程序会直接返回空)
思路及解答
哈希表映射
使用哈希表存储原节点和新节点的映射关系 ...
springboot~3.x项目中使用集成测试
在 Spring Boot 3.x 中为控制器编写集成测试,主要是通过 @SpringBootTest 注解加载完整的应用上下文,并利用 MockMvc 或 TestRestTemplate 来模拟 HTTP 请求并验证响应。下面我将为你提供一个清晰的指南和代码示例。
两种测试
在Spring Boot项目中,测试通常分为单元测试和集成测试。以下是区分这两种测试的一些指导原则: ...
springboot~http2的支持
在 Spring Boot 应用中开启 HTTP/2 能带来更好的性能体验。下面我会为你解释如何根据不同的需求进行配置。首先,用一个表格来对比两种主要的实现方式:
特性
基于 TLS 的 HTTP/2 (h2)
明文 HTTP/2 (h2c)
是否需要证书
✅ 是(SSL/TLS 证书)
❌ 否
协议方案
https
http
安全性
高(加密通信)
无(明文通信)
...
解疑释惑 - 日志体系之 slf4j + logback 组合(一)
经历过大大小小的项目,日志组件总是离不开,从一开始跟着别人做项目到自己能从零构建项目架构,从黏贴别人写好的日志组件配置文件到自己能读懂配置文件中的配置含义进而筛选调整,日志组件使用的越来越熟练,但是对其内部的机制却始终没有一个好的理解。
工作经历中有很多这样的情况,使用开源组件时,没有遇到问题则皆大 ...
Springboot 项目配置多数据源
基础环境
java8、springboot2.2.13、mybatis、mysql5.x、oracle
项目配置
1.application.yml
spring:
datasource:
mysql1:
username: abc
password: 123456
url: jdbc:mysql://127.0.0.1:3306/panda?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQuerie ...
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
项目地址:
Github:https://github.com/China-Rainbow-sea/yupao
Gitee:https://gitee.com/Rainbow--Sea/yupao
@目录伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05系统(接口)设计创建队伍查询队伍列表修改队伍 ...
剑指offer-23、搜索⼆叉树的后序遍历序列
题⽬描述
输⼊⼀个整数数组,判断该数组是不是某⼆叉搜索树的后序遍历的结果。如果是则返回true,否则返回false 。假设输⼊的数组的任意两个数字都互不相同。
提示:
⼆叉搜索树是指⽗亲节点⼤于左⼦树中的全部节点,但是⼩于右⼦树中的全部节点的树。
该题我们约定空树不是⼆叉搜索树
后序遍历是指按照 “左⼦树-右⼦树-根 ...
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 03
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 03
项目地址:
Github:https://github.com/China-Rainbow-sea/yupao
Gitee:https://gitee.com/Rainbow--Sea/yupao
开发用户修改页面:后端
开发用户登录功能:后端
to do
更新 脱敏,bean(注意没有映射,以及逻辑删除注解),以及 xml
前端: ...
SpringBoot-日志
目录1. java日志框架发展史1. 1起源1. 2日志实现2. logback日志的集成2.1. 日志级别2.2. 日志格式2.3. 日志文件输出2.4. 日志归档2.5. 自定义配置文件2.6. 日志其他框架切换
1. java日志框架发展史
1. 1起源
在jdk1.3时期想要追踪异常大多只能使用System.out.println("error")的方式,这会导致代码中出现大量的打印而且无法 ...
JavaSE
计算机基础知识
一、快捷键
Ctrl+C:复制
Ctrl+V:粘贴
Ctrl+A:全选
Ctrl+X:剪切
Ctrl+Z:撤销
Ctrl+S:保存
Alt+F4:关闭窗口
Shift+Dlete:永久删除
Win+D:回到桌面
Win+E:打开我的电脑
Win+R:打开运行
Ctrl+Shift+Esc:打开任务管理器
Win+Tab:切换应用
Win+R 输入cmd:打开cmd
二、常用Dos命令
盘符切换
查看 ...
剑指offer-21、栈的压⼊、弹出序列
题⽬描述
输⼊两个整数序列,第⼀个序列表示栈的压⼊顺序,请判断第⼆个序列是否可能为该栈的弹出顺序。假设压⼊栈的所有数字均不相等。例如序列1,2,3,4,5 是某栈的压⼊顺序,序列4,5,3,2,1 是该压栈序列对应的⼀个弹出序列,但4,3,5,1,2 就不可能是该压栈序列的弹出序列。(注意:这两个序列的⻓度是相等的)
示例1
输⼊: ...