- 博客(93)
- 问答 (1)
- 收藏
- 关注
原创 AI大模型-LangChain4j
基于 Java+LangChain4j,完成大模型本地 / 云端部署、流式对话、Redis 持久化多用户记忆、RAG 私有知识库、Tools 函数调用,搭建可落地的 AI 智能应用
2026-06-16 14:08:59
203
原创 Java-ThreadLocal
在多线程环境中,多个线程可能同时访问同一个变量,导致数据错乱。通常我们用来加锁,但这会让线程排队等待,影响性能。ThreadLocal的思路不给共享变量加锁,而是给,线程之间互不干扰。ThreadLocal让每个线程都有自己的变量副本,线程安全且无锁竞争。
2026-05-29 18:02:51
251
原创 Java—异步编程
异步编程就是让耗时任务在后台执行而不阻塞主线程,通过Future或CompletableFuture获取结果并优雅地组合、处理异常,从而提升程序响应速度和资源利用率。
2026-05-29 14:56:43
352
原创 Java高级—并发编程
Java 并发核心就是解决原子性、可见性、有序性三大问题,通过各类锁与volatile做管控,同时规避死锁、活锁、锁饥饿等并发故障,并结合场景合理选型
2026-05-29 11:18:52
215
原创 微服务-Elasticsearch01
初始Elasticsearch、索引库操作、文档操作、RestAPI、RestClient操作文档、相关高频面试题
2026-05-11 16:11:27
604
原创 Java并发编程
AbstractQueuedSynchronizer (AQS) 是 JUC 包中锁和同步器的基石。核心思想通过表示同步状态(如锁的重入次数);内置CLH锁队列(FIFO双向链表),管理获取同步状态失败的线程;资源共享方式:只有一个线程能持有资源(如 ReentrantLock);多个线程可同时持有资源(如 CountDownLatch、Semaphore);关键数据结构// 等待状态:CANCELLED(1), SIGNAL(-1), CONDITION(-2), PROPAGATE(-3)
2026-04-01 17:48:32
380
原创 Redis(四):缓存击穿及其解决方案(SpringBoot+mybatis-plus)
定义:指一个热点key在缓存过期的瞬间,同时有大量请求访问这个key,导致所有请求都直接打到数据库上,造成数据库压力激增,解决方案:互斥锁 (Mutex Lock)、热点数据永不过期、接口限流与降级
2025-11-03 17:57:01
306
原创 Redis(三):缓存雪崩及其解决方案(SpringBoot+mybatis-plus)
缓存雪崩 定义:在同一时间段内,大量缓存键(key)同时过期失效或 Redis 服务宕机,导致所有请求直接涌向数据库,造成数据库瞬时压力过大而崩溃; 核心问题:高并发请求穿透缓存,击垮数据库。 核心解决方案:(1)差异化过期时间:给缓存设置过期时间时,添加一个随机值,避免同时失效。(2)高可用集群:使用 Redis 哨兵或集群模式,防止单点故障。(3)服务降级与熔断:当数据库压力过大时,对非核心服务进行降级或直接熔断,保护数据库。 (4)永不过期 + 后台更新
2025-11-03 09:36:05
263
原创 Redis(二):缓存穿透及其解决方法(SpringBoot+mybatis-plus)(注解版)
@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig缓存注解的使用
2025-10-22 15:51:42
186
原创 Redis(一):缓存穿透及其解决方法(SpringBoot+mybatis-plus)
缓存穿透(Cache Penetration) * 缓存穿透(Cache Penetration)是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库,导致数据库压力骤增甚至崩溃。 * 触发原因:恶意攻击、参数伪造、业务逻辑漏洞。 * 核心问题:大量请求访问数据库中不存在的数据,缓存无法拦截。 * 攻击方式: * 攻击者使用不存在的用户id频繁请求; * 这些请求都会直接访问数据库,导致数据库压力过大;
2025-10-22 10:16:43
531
原创 宋红康 JVM 笔记 Day18|class文件结构
1. 概述;2. 虚拟机的基石:Class文件;3. Class文件结构;4. 使用javap指令解析Class文件;
2025-10-10 21:17:14
218
原创 Day03:小程序的常用操作
1. 如何实现页面之间的导航跳转;2. 如何实现刷新效果;3. 如何实现上拉加载更多;4. 小程序中常用的生命周期函数;
2025-09-24 21:31:07
352
原创 Day01:初识微信小程序
1. 如何创建小程序项目;2. 小程序项目的基本组成结构;3. 小程序页面由几部分组成;4. 小程序中常见的组件如何使用;5. 如何进行协同开发和发布;
2025-09-20 20:32:49
437
原创 宋红康 JVM 笔记 Day17|垃圾回收器
1. GC分类与性能指标;2. 不同的垃圾回收器概述;3. Serial回收器:串行回收;4. ParNew回收器:并行回收;5. Parallel回收器:吞吐量优先;6. CMS回收器:低延迟;7. G1回收器:区域化分代式;8. 垃圾回收器总结;9. GC日志分析;10. 垃圾回收器的新发展;
2025-09-13 21:40:12
344
原创 宋红康 JVM 笔记 Day16|垃圾回收相关概念
1. System.gc()的理解;2. 内存溢出与内存泄漏;3. Stop The World;4. 垃圾回收的并行与并发;5. 安全点与安全区域;6. 再谈引用:强引用;7. 再谈引用:软引用;8. 再谈引用:弱引用;9. 再谈引用:虚引用;10. 再谈引用:终结器引用;
2025-09-10 21:35:44
313
原创 宋红康 JVM 笔记 Day15|垃圾回收相关算法
1. 标记阶段:引用计数算法;2. 标记阶段:可达性分析算法;3. 对象的finalization机制;4. MAT与JProfiler的GC Roots溯源;5. 清除阶段:标记-清除算法;6. 清除阶段:复制算法;7. 清除阶段:标记-压缩算法;8. 小结;9. 分代收集算法;10. 增量收集算法、分区算法;
2025-09-09 20:35:17
247
原创 宋红康 JVM 笔记 Day13|String Table
1. String的基础特性;2. String的内存分配;3. String的基础操作;4. 字符串拼接操作;5. intern()的使用;6. StringTable的垃圾回收;7. G1中的String去重操作;
2025-09-07 20:39:24
300
原创 宋红康 JVM 笔记 Day12|执行引擎
1. 执行引擎概述;2. Java代码编译和执行过程;3. 机器码、指令、汇编语言;4. 解释器;5. JIT编译器;
2025-09-03 21:49:05
270
【人工智能部署】基于Ollama的本地大语言模型安装配置指南:实现Qwen3等多参数规模模型的本地化运行与交互
2026-06-12
前端web集成海康威视SDK实时摄像头中的视频
2024-02-20
Java实现查询数据库表中所有的数据并以pdf格式导出
2024-01-27
springboot+websocket程序运行报错
2024-01-20
vue安装cnpm时出错
2024-01-17
mybatis多条件查询
2024-01-13
JAVA运行出现非法字符怎么解决
2023-12-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3