自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Lambda 表达式

有且仅有一个抽象方法的接口。注意:将来我们见到的大部分函数式接口,上面都可能会有一个 @FunctionalInterface 的注解,该注解用于约束当前接口必须是函数式接口。1、什么是函数式编程?有是好处?使用 Lambda 函数替代某些匿名内部类对象,从而让程序代码更简洁,可读性更好。2、Lambda 表达式是啥?有什么用?怎么写?JDK8 新增的一种语法,代表函数;可以用于替代并简化函数式接口的匿名内部类。3、什么样的接口是函数式接口?怎么确保一个接口必须是函数式接口?

2025-12-01 18:56:26 371

原创 LangChain4j 详细知识总结

LangChain4j 为 Java/Kotlin 生态系统带来了构建 LLM 应用的强大能力。通过深入理解其核心组件——AiModelAiServiceChatMemoryTool和Tokenizer——开发者可以构建出功能丰富、响应迅速且可维护的 AI 应用。其AiService机制是核心亮点,将自然语言逻辑提升到了与 Java 代码同等的地位。随着 AI 技术的不断发展,掌握 LangChain4j 将成为 JVM 开发者的一项关键技能。建议从官方文档和示例项目入手,逐步实践上述概念和功能。

2025-10-26 08:54:46 631 2

原创 Spring AI 知识点总结

Spring AI 是 Spring 生态系统下的人工智能应用开发框架,旨在简化 Java/Spring 开发者集成各类 AI 模型(包括大语言模型、embedding 模型等)的过程,提供统一的 API 抽象和标准化的开发范式,让开发者无需深入关注不同 AI 服务提供商的底层细节,快速构建 AI 驱动的应用。

2025-10-23 20:00:27 993

原创 Seata 知识点总结

模式一致性性能业务侵入适用场景AT弱一致性(中间状态可见)高低普通业务,快速接入TCC强一致性高高金融、支付等高要求场景Saga最终一致性高中长流程、复杂业务XA强一致性低中强一致要求,数据库支持 XA。

2025-10-20 08:00:00 1052

原创 Apache RocketMQ 核心知识点总结

消息(Message):消息是 RocketMQ 中传输的基本单位,包含消息头和消息体。主题(Topic):一类消息的逻辑集合,生产者将消息发送到特定 Topic,消费者订阅该 Topic 进行消费。标签(Tag):对同一 Topic 下的消息进行进一步分类,用于过滤,相当于子主题。消息队列(MessageQueue):Topic 的分区单元,每个 Topic 可以分为多个 MessageQueue,实现负载均衡和并行处理。生产者(Producer):负责发送消息到 Broker 的客户端。

2025-10-19 08:00:00 890

原创 Redis分布式锁、Redisson及Redis红锁知识点总结

Redis 分布式锁的核心思想是利用 Redis 的原子操作,在多个服务实例之间抢占一个 “锁标识”,确保同一时间只有一个实例能执行临界区代码。:使用命令。其中,NX(Not Exists)表示仅当键不存在时才设置,保证只有一个实例能加锁;EX(Expire)用于设置键的过期时间,避免因服务宕机导致锁无法释放。:不能直接使用DEL key命令(可能误删其他实例的锁),需通过 Lua 脚本实现原子性判断与删除,脚本逻辑为:先判断当前锁的 value 是否与自己持有的一致,一致则删除(解锁),不一致则忽略。

2025-10-17 14:44:21 801

原创 《代码随想录》单调栈专题算法笔记

/ 根据题目初始化// 可选:预处理 map 或扩展数组i++) {while (!stack.isEmpty() && 当前元素 满足打破单调性的条件) {// 处理栈顶元素// 更新结果(如距离、面积、下一个更大值等)// 当前下标入栈。

2025-10-15 09:00:00 1481

原创 Apache Kafka 核心知识点总结

与 Leader 保持同步的 Follower 集合。只有 ISR 中的副本才有资格在 Leader 挂掉后被选举为新的 Leader。

2025-10-14 09:00:00 869

原创 《代码随想录》动态规划专题算法笔记(下)

dp[j]:从前j间房中抢劫能获得的最大金额状态含义1第一次买入2第一次卖出3第二次买入4第二次卖出状态含义0持有股票1可买入(非冷冻)2卖出股票3冷冻期dp[i]:以nums[i]结尾的最长递增子序列长度dp[i][j]:以nums1[i-1]和nums2[j-1]结尾的最长公共子数组长度dp[i][j]和的最长公共子序列长度dp[i]:以nums[i]结尾的最大子数组和dp[i][j]s[0..i-1]中出现t[0..j-1]的次数dp[i][j]:使和。

2025-10-13 08:00:00 827

原创 《代码随想录》动态规划专题算法笔记(上)

LeetCode 1049] 最后一块石头的重量 II问题类型dp定义递推公式遍历顺序初始化求最大价值(01背包)dp[j]: 容量j的最大价值物品→背包(倒序)dp[0]=0求最小数量dp[j]: 凑成j的最少物品数任意dp[0]=0, 其余INF求组合数dp[j]: 凑成j的方法数物品→背包(正序)dp[0]=1求排列数dp[j]: 凑成j的排列数背包→物品(正序)dp[0]=1。

2025-10-12 08:00:00 688

原创 贪心算法学习笔记(《代码随想录》)(下)

贪心算法的核心是“局部最优→全局最优”排序(按边界、大小等)。多轮遍历(如左右两次遍历满足双向规则)。记录关键状态(如字符最后位置、当前剩余量)。通过上述题型的练习,可逐步掌握贪心策略的应用场景与实现技巧。

2025-10-07 09:00:00 945

原创 贪心算法学习笔记(《代码随想录》)(上)

本文整理了《代码随想录》中贪心算法的核心题型,涵盖分配、序列、区间、买卖股票等场景,每个题型均标注要点与完整代码,便于快速掌握贪心策略的 “局部最优→全局最优” 思路。

2025-10-06 09:00:00 549

原创 回溯算法学习笔记(《代码随想录》)

所有回溯问题均可基于以下模板扩展,关键区别在于终止条件遍历范围和去重 / 剪枝逻辑// 1. 定义全局/成员变量(结果集、路径集)List<结果类型> res = new ArrayList<>();路径类型 path = new 路径类型();// 2. 主方法(初始化并调用回溯)public 结果类型 solve(输入参数) {backtracking(输入参数, 辅助参数);// 辅助参数如startIndex、used、sum等return res;// 3. 回溯方法。

2025-10-05 12:04:01 1077

原创 《代码随想录》二叉树专题算法笔记

本文整理《代码随想录》中二叉树专题的经典算法题目,包含题目要点分析与完整代码实现,覆盖算法训练营 Day13 至 Day21 打卡内容,涵盖二叉树的遍历、构造、修改、查询等核心场景。

2025-10-02 08:00:00 916

原创 《代码随想录》栈与队列专题算法笔记

核心原理:利用双栈模拟队列的 “先进先出(FIFO)” 特性,两个栈分别承担 “入队” 和 “出队” 功能。stackInpushstackOutpoppeek方法 —— 当stackOut为空时,将stackIn中所有元素弹出并压入stackOut,此时stackOut的栈顶元素即为队列头部元素。边界处理:判断队列是否为空(empty方法),需同时检查stackIn和stackOut是否均为空。

2025-10-01 08:00:00 2365

原创 《代码随想录》字符串专题算法笔记

tempiji。

2025-09-30 09:03:42 563

原创 Java微服务知识点详细总结

微服务是一种,将单体应用拆分为多个小型、独立的服务单元,每个服务围绕特定业务领域构建,通过轻量级通信协议(如 HTTP/REST、gRPC)交互。。

2025-09-29 09:17:26 1105

原创 Elasticsearch 知识点详细总结

Elasticsearch(简称 ES)是一款基于 Lucene 构建的分布式、高扩展、高实时的全文搜索引擎,同时也是 Elastic Stack(ELK Stack:Elasticsearch, Logstash, Kibana)的核心组件,广泛应用于日志分析、全文检索、实时数据分析等场景。本文将从核心概念、架构设计、数据操作、查询分析、性能优化等维度进行全面总结。

2025-09-27 09:00:00 7386 4

原创 Docker知识点全面总结

Dockerfile 是一个包含一系列指令的文本文件,用于自动化构建 Docker 镜像。通过执行命令,Docker 会按照 Dockerfile 中的指令逐步构建出镜像,相比手动创建容器并提交为镜像,更高效、可重复且易于维护。Docker Compose 是 Docker 官方提供的容器编排工具,用于定义和运行多个 Docker 容器组成的应用。通过一个 YAML 文件(默认名为 docker-compose.yml)配置应用的所有服务,然后执行一条命令即可创建并启动所有服务,无需手动逐个管理容器。

2025-09-26 08:01:20 2380

原创 RabbitMQ全面知识总结:从基础到实战的完整指南

RabbitMQ 是基于AMQP(高级消息队列协议)实现的开源消息代理软件,最初由 Rabbit Technologies 开发,后被 Pivotal 收购,现归属于 VMware 旗下。它采用 Erlang 语言编写,天生具备高并发、高可用的特性,能够在分布式系统中实现进程间的可靠通信。解耦:打破服务间的直接依赖,当上游服务或下游服务发生变更时,无需修改对方代码。削峰:应对突发流量(如电商秒杀),将瞬间高并发请求缓存到队列中,下游服务按能力消费。异步。

2025-09-17 18:39:50 932

原创 代码随想录笔记哈希表篇

【代码】代码随想录笔记哈希表篇。

2025-09-16 22:47:49 497

原创 Java中Redis核心知识点总结:从入门到实战

是一个开源的、基于内存的键值存储系统,支持持久化,常被用作数据库、缓存和消息中间件。

2025-09-14 12:40:10 979

原创 代码随想录算法笔记链表篇

先让快指针移动 n+1 次,然后快慢指针再同时移动,直到快指针指为 null,此时慢指针正好指向 n-1 处(可以画图理解)。多想多做,还得重新刷,对定义结点类等操作非常不熟悉,思想虽然可以想清楚,但是如何使用代码实现还需要反复锻炼,对于 while 内条件的判断非常不熟悉,需要多做多想。难点在于想到相遇点与链表起点的关系,相遇点到进入环的起点的距离与头结点到进入环起点的距离相等(具体可以看视频)。首先计算出两个链表的长度,但是此时需要注意重新让两个指针指向链表的头结点,然后使。当链表长度为奇数时,满足。

2025-08-27 22:02:11 463

原创 代码随想录算法笔记数组篇

卡哥算法训练营第一日任务之 —— 二分法查找。

2025-08-26 22:40:06 618

原创 黑马Redis实战篇 给店铺类型查询业务添加缓存

ServiceImpl层代码。Controller层代码。Service层代码。

2025-08-16 17:05:33 242

原创 Linux零基础快速入门

在这一部分中,我们主要介绍几个常用的命令。

2025-08-12 21:56:01 927

原创 Spring Security 总结详解

loginPage("/login.html") // 登录页URL.loginProcessingUrl("/doLogin") // 提交登录的URL.usernameParameter("username") // 用户名参数名.passwordParameter("password") // 密码参数名全面的认证机制:支持表单登录、JWT、OAuth2 等细粒度的授权控制:URL 级、方法级、对象级内置安全防护:CSRF、XSS、会话管理等。

2025-08-11 22:06:04 1544

原创 java零基础(下)

文件字节输入流,可用于读取任何类型的文件。文件字节输出流,用于向文件中写入字节数据。字节缓冲流和,适用于读写非普通文本文件。字符缓冲流和,适用于读写普通文本文件。和都属于包装流,是专门用于读写数据的流。File类并非 IO 流,它和 IO 体系中的四个抽象基类(ReaderWriter)并无关联。所以,无法直接借助File类进行文件的读写操作。什么是线程?什么是进程?他们之间有什么区别。

2025-08-07 09:06:35 493

原创 java零基础(中)

for each增强for循环一维数组的动态初始化一维数组中存储引用查找数组中的最大值以及下标找一个固定值在数组中的位置:遍历等于,然后输出下标关于main()方法中args[]的作用方法的可变长度参数数组的扩容操作一维数组的扩容数组长度一旦确定不可变那数组应该如何扩容?只能创建一个更大的数组将原数组中的数据全部拷贝到新数组中可以使用System.arraycopy()方法完成数组的拷贝数组扩容会影响程序的执行效率,因此尽可能预测数据量,创建一个接近数量的数

2025-08-02 22:11:54 315

原创 Java零基础(上)

win+Dwin+Ewin+Rwin+Lalt+table打开DOS命令窗口在DOS命令窗口中用鼠标右键进行复制粘贴什么是当前路径?假设进入DOS命令窗口时显示的是:C:\Users\lenovo>,那么当前路径就是C:\Users\lenovo常用的DOS命令批处理文件作用:切换到D:\abc\def目录下,删除所有.java文件在硬盘的任何位置,新建一个java源程序,命名为HelloWorld.java编译第一个JAVA程序使用javac命令编译,首先确认javac命令能用.javac命令怎

2025-07-31 21:52:56 729

原创 Maven详解

Maven项目构建与管理工具 Maven是一个标准化项目管理和构建工具,通过定义pom.xml文件管理项目结构、依赖关系和构建流程。其核心功能包括: 标准化结构:统一项目目录布局和构建生命周期 依赖管理: 使用坐标(groupId/artifactId/version)定位资源 支持三级仓库体系:本地仓库、中央仓库(Maven维护)和私服(企业自建) 进阶特性: 分模块开发:按功能拆分项目 继承机制:子工程复用父工程配置 聚合构建:多模块统一编译 优化方案: 依赖版本锁定(dependencyManagem

2025-07-14 23:08:06 785

原创 Spring Boot原理篇

或这个模块主要是依赖管理的功能。而或主要是起到自动配置的作用,自动配置的核心代码就在这个模块中编写。starter模块(进行依赖管理[把程序开发所需要的依赖都定义在starter起步依赖中)autoconfigure模块(自动配置)第1步:创建自定义starter模块 xxxxx-sring-boot-starter`(进行依赖管理)把所有的依赖统一管理起来第2步:创建autoconfigure模块。

2025-07-06 22:08:59 883

原创 深入掌握Web开发核心技能:ECharts数据可视化 + JWT身份认证 + Filter与Interceptor权限控制

特性Filter接口来源Spring MVC拦截范围所有资源(包括静态文件)仅限 Controller 层控制粒度粗细执行顺序先执行后执行应用场景登录校验、日志记录权限控制、参数处理使用 ECharts 实现数据可视化展示使用 SQL 的CASE和IF函数进行数据分类使用 JWT 实现安全的身份认证机制使用 Filter 和 Interceptor 实现接口权限控制前后端联调测试(借助 Apifox 工具)

2025-07-01 22:10:47 755

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除