- 博客(34)
- 收藏
- 关注
原创 Spring Boot 3.x + Spring AI 实战:5分钟集成阿里通义千问 API,打造你的第一个 AI 应用
在当今 AI 技术飞速发展的时代,将大模型能力集成到 Java 应用中已成为后端开发者的必备技能。本文将手把手教你在 Spring Boot 3.x 项目中集成 Spring AI,实战调用阿里通义千问 API,让你 5 分钟打造出自己的第一个 AI 应用!Spring AI 是 Spring 官方推出的 AI 集成框架,提供了统一的 API 来对接各种大模型服务商,包括 OpenAI、Azure OpenAI、阿里云通义千问、百度文心一言等。
2026-04-29 11:04:33
222
原创 Spring Boot + Redis 实现接口防抖与限流实战指南
本文结合实战,讲解如何用Redis+Spring Boot实现一套灵活的接口保护机制。:接入Prometheus,监控限流触发次数## 五、总结通过。:Redis不可用时,自动放行请求,避免服务不可用4.
2026-04-28 10:48:14
95
原创 【MyBatis Plus 实战】快速入门与核心功能详解
MyBatis Plus通过大量的自动封装,大大提升了我们的开发效率。它提供的条件构造器、分页插件、自动填充、逻辑删除等功能,让CRUD变得非常简单。如果你正在使用MyBatis,不妨尝试一下MyBatis Plus,相信会给你带来惊喜!
2026-04-27 21:03:01
232
原创 Spring Boot + Redis 实战分布式锁:从入门到精通
但当应用部署到多节点时,每个节点都有独立的JVM进程,本地锁只能控制单个进程内的线程,无法协调多个进程之间的竞争。二、Redis实现分布式锁的原理Redis 之所以能实现分布式锁,主要依赖以下特性:SETNX 命令:SET if Not eXists,只有key不存在时才设置成功过期时间:防止锁永久占用,导致死锁唯一value:标识锁的持有者,支持安全释放最简单的实现public String tryLock(String key, String value, long expireTime) {
2026-04-27 10:38:44
218
原创 【Redis实战】分布式锁的N种实现方案对比与避坑指南
但如果是分布式部署,多个服务实例同时抢锁,JVM锁就失效了——因为每个实例都有自己的锁对象,彼此之间完全感知不到。分布式锁的核心目标:互斥性:同一时刻只能有一个客户端持有锁防死锁:即使客户端崩溃,锁也要能自动释放可重入:同一个客户端可以多次获取锁高性能:加锁/解锁操作要快二、方案一:SET NX EX(最简单粗暴)这是很多人第一次用Redis实现分布式锁的方式:public Boolean tryLock(String key, String value, long expireTime) {
2026-04-26 21:35:46
213
原创 Spring Boot 3.x 集成 AI 大模型实战指南
Spring Boot 3.x 与 Spring AI 的集成方式同步与流式对话的实现多模型支持的配置方法企业级应用的注意事项AI 大模型正在改变软件开发方式,掌握这些技能能让你的项目更具竞争力。赶紧动手试试吧!关注我,获取更多 Java & AI 技术干货!
2026-04-26 10:38:18
598
原创 Redis分布式锁实战:从理论到生产环境避坑指南
测试内容123获取锁,设置过期时间 30s 2. 由于某些原因(比如 GC),业务处理超过 30s 3. 锁自动过期,客户端 B 获取到锁 4. 客户端 A 业务处理完成,执行 unlock() —— 删的是 B 的锁!// 支持锁重入 lock1.lock();考虑这个场景: 1. 客户端 A 获取锁,设置过期时间 30s 2. 由于某些原因(比如 GC),业务处理超过 30s 3. 锁自动过期,客户端 B 获取到锁 4. 客户端 A 业务处理完成,执行 unlock() —— 删的是 B 的锁!
2026-04-25 10:42:10
340
原创 Spring Boot整合AI大模型实现智能问答系统实战
随着大语言模型的快速发展,AI能力已经变得触手可及。本文将分享如何基于Spring Boot框架,快速集成AI大模型能力,构建一个智能问答系统。使用Spring AI简化了与大模型交互的复杂度通过Redis实现会话历史管理,支持多轮对话代码结构清晰,易于扩展和维护完整源码已上传至GitHub,欢迎交流讨论!相关技术栈。
2026-04-24 21:06:15
116
原创 ThreadLocal 深度解析:从原理到实战
深入理解ThreadLocal的底层原理、常见内存泄漏坑点,以及用户会话、数据库连接、链路追踪等实战场景,带你彻底搞懂这个面试高频考点。
2026-04-24 16:29:01
364
原创 Redis复习笔记(上)
Redis(Remote Dictionary Server)是一个特点:读写速度快(10万+ QPS)支持持久化支持多种数据结构支持分布式。
2026-03-20 20:41:41
361
原创 Spring Boot 常用注解总结
@SpringBootApplication👉 组合注解: ⭐👉 一句话:标识启动类 + 开启自动装配 + 扫描组件@Component👉 把类交给 Spring 管理👉 本质:都是 @Configuration👉 标识这是一个配置类(相当于 XML)@Beanpublic User user() {return new User();}👉 作用:把方法返回值交给 Spring 管理@Autowiredprivate UserService userS
2026-03-20 20:41:29
319
原创 Spring Boot 面试核心笔记
👉 一组依赖的集合(开箱即用)步骤:创建 starter 模块写自动配置类写使用条件注解控制加载👉Spring Boot 启动 = 创建容器 + 自动装配 + 启动 Web 服务器@Value。
2026-03-19 19:53:33
387
原创 Elasticsearch 笔记
Elasticsearch 是一个基于倒排索引的分布式搜索引擎,通过分词器构建索引,实现高效全文检索。其核心包括索引、分片、倒排索引和 DSL 查询。写入和查询都依赖分布式架构,适合海量数据搜索场景。
2026-03-18 20:58:34
346
原创 Socket 与 WebSocket 笔记
Socket 是操作系统提供的网络通信接口,用于建立 TCP/UDP 连接;WebSocket 是建立在 TCP(Socket) 之上的应用层协议,用于实现浏览器与服务器之间的实时双向通信。
2026-03-14 10:15:00
220
原创 JAVA基础二
自动回收,避免内存泄漏。没有任何引用指向的对象例如:u = null;//对象可以被GC回收程序员不用手动释放内存JVM自动管理。
2026-03-13 20:01:36
333
原创 Java 核心基础
特点:基本类型变量直接存储值存储在栈内存包括:类(如 、自定义类)接口(如 、)数组特点:变量存 对象地址对象本身存 堆内存Java虚拟机作用:解释执行 字节码实现 跨平台核心思想:写一次,到处运行JRE(Java Runtime Environment)Java运行环境包含:JVM + 核心类库作用:运行 Java 程序Java开发工具包包含:JRE + 开发工具常见工具:javac(编译)java(运行)javadocjarJDK > JRE > JVM3.
2026-03-12 16:01:35
233
原创 自用,各种小代码
ps -ef | grep "项目.jar" | grep -v grep | awk '{print $2}' | xargs kill -9。nohup java -jar /usr/local/项目.jar > /usr/local/llm_app.log 2>&1 &scp -i id_rsa "project路径" admin@服务器ip:/home/admin/mv -f /home/admin/项目.jar /usr/local/实时查看启动日志,确认是否有报错。把自己的项目上传到服务器。
2025-08-13 10:00:55
160
原创 Java 字符串核心知识:常量池、比较与拼接
在 Java 中,字符串(String)是我们日常开发中最常用的数据类型之一。想要熟练掌握字符串操作,理解字符串常量池、比较方式以及拼接原理是关键。今天就用简单的例子带大家搞懂这些核心知识点。
2025-07-20 22:44:54
347
原创 Java 核心基础:类与对象、static、this、final关键字
int age;// 成员变量:年龄// 创建3个Animal对象// 给Animal1、Animal2设置年龄// 输出年龄// 2// 3// 0我们可以看见,最后输出的时候,animal1,animal2,animal3分别输出2,3,0。很明显animal1和animal2各自拥有独立的,不同于animal的age变量。即使animal3未赋值,它也有默认的age,是0;类是 “模板”,定义了对象的结构:包含哪些属性(变量)和行为(方法)。例如Animal。
2025-07-20 11:03:29
718
原创 计算机中的数据存储:原码、反码与补码的解析
但是这时候发现二进制表达的数字长短不一样,这在电脑中不好存储,为了更高效地管理内存和加快处理速度,计算机采用了。我们知道-0和0是一个概念,因为0不分正负,这样是没有意义,同时也增加了计算机处理的复杂性,所以。在计算机中,当我们超出范围时,优先舍掉高位的数字,于是我们把1舍掉,得到了0,0000000。10和-10的和应该是0,但是计算出来是-20。八位中,第一位是符号位,0表示正数,1表示负数。,于是,诞生了反码,之前这种也就叫原码。同样的,我们再次计算上面10与-10的和。我们再来计算上面那个式子,
2025-07-17 21:58:01
279
原创 java简单仓库curd系统
商品名称:<input type="text" class="editName"></div><div>商品价格:<input type="text" class="pricetext"></div><div>商品名称:<input type="text" class="nametext">
2025-02-05 20:20:36
655
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅