- 博客(69)
- 问答 (1)
- 收藏
- 关注
原创 Redis(四):缓存击穿及其解决方案(SpringBoot+mybatis-plus)
定义:指一个热点key在缓存过期的瞬间,同时有大量请求访问这个key,导致所有请求都直接打到数据库上,造成数据库压力激增,解决方案:互斥锁 (Mutex Lock)、热点数据永不过期、接口限流与降级
2025-11-03 17:57:01
241
原创 Redis(三):缓存雪崩及其解决方案(SpringBoot+mybatis-plus)
缓存雪崩 定义:在同一时间段内,大量缓存键(key)同时过期失效或 Redis 服务宕机,导致所有请求直接涌向数据库,造成数据库瞬时压力过大而崩溃; 核心问题:高并发请求穿透缓存,击垮数据库。 核心解决方案:(1)差异化过期时间:给缓存设置过期时间时,添加一个随机值,避免同时失效。(2)高可用集群:使用 Redis 哨兵或集群模式,防止单点故障。(3)服务降级与熔断:当数据库压力过大时,对非核心服务进行降级或直接熔断,保护数据库。 (4)永不过期 + 后台更新
2025-11-03 09:36:05
191
原创 Redis(二):缓存穿透及其解决方法(SpringBoot+mybatis-plus)(注解版)
@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig缓存注解的使用
2025-10-22 15:51:42
153
原创 Redis(一):缓存穿透及其解决方法(SpringBoot+mybatis-plus)
缓存穿透(Cache Penetration) * 缓存穿透(Cache Penetration)是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库,导致数据库压力骤增甚至崩溃。 * 触发原因:恶意攻击、参数伪造、业务逻辑漏洞。 * 核心问题:大量请求访问数据库中不存在的数据,缓存无法拦截。 * 攻击方式: * 攻击者使用不存在的用户id频繁请求; * 这些请求都会直接访问数据库,导致数据库压力过大;
2025-10-22 10:16:43
472
原创 宋红康 JVM 笔记 Day18|class文件结构
1. 概述;2. 虚拟机的基石:Class文件;3. Class文件结构;4. 使用javap指令解析Class文件;
2025-10-10 21:17:14
182
原创 Day03:小程序的常用操作
1. 如何实现页面之间的导航跳转;2. 如何实现刷新效果;3. 如何实现上拉加载更多;4. 小程序中常用的生命周期函数;
2025-09-24 21:31:07
324
原创 Day01:初识微信小程序
1. 如何创建小程序项目;2. 小程序项目的基本组成结构;3. 小程序页面由几部分组成;4. 小程序中常见的组件如何使用;5. 如何进行协同开发和发布;
2025-09-20 20:32:49
401
原创 宋红康 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
317
原创 宋红康 JVM 笔记 Day16|垃圾回收相关概念
1. System.gc()的理解;2. 内存溢出与内存泄漏;3. Stop The World;4. 垃圾回收的并行与并发;5. 安全点与安全区域;6. 再谈引用:强引用;7. 再谈引用:软引用;8. 再谈引用:弱引用;9. 再谈引用:虚引用;10. 再谈引用:终结器引用;
2025-09-10 21:35:44
284
原创 宋红康 JVM 笔记 Day15|垃圾回收相关算法
1. 标记阶段:引用计数算法;2. 标记阶段:可达性分析算法;3. 对象的finalization机制;4. MAT与JProfiler的GC Roots溯源;5. 清除阶段:标记-清除算法;6. 清除阶段:复制算法;7. 清除阶段:标记-压缩算法;8. 小结;9. 分代收集算法;10. 增量收集算法、分区算法;
2025-09-09 20:35:17
225
原创 宋红康 JVM 笔记 Day13|String Table
1. String的基础特性;2. String的内存分配;3. String的基础操作;4. 字符串拼接操作;5. intern()的使用;6. StringTable的垃圾回收;7. G1中的String去重操作;
2025-09-07 20:39:24
274
原创 宋红康 JVM 笔记 Day12|执行引擎
1. 执行引擎概述;2. Java代码编译和执行过程;3. 机器码、指令、汇编语言;4. 解释器;5. JIT编译器;
2025-09-03 21:49:05
241
原创 宋红康 JVM 笔记 Day09|方法区
1. 栈、堆、方法区的交互关系;2. 方法区的理解;3. 设置方法区大小与OOM;4. 方法区的内部结构;5. 方法区使用举例;6. 方法区的演进细节;7. 方法区的垃圾回收;8. 总结;
2025-09-01 21:45:36
284
原创 宋红康 JVM 笔记 Day08|堆
1. 堆的核心概述;2. 设置堆内存大小与OOM;3. 年轻代与老年代;4. 图解对象分配过程;5. Minor GC、Major GC、Full GC;6. 堆空间分代思想;7. 内存分配策略;8. 为对象分配内存:TLAB;9. 小结堆空间的参数设置;10. 堆时分配对象的唯一选择吗?
2025-08-28 21:30:42
320
原创 宋红康 JVM 笔记 Day06|虚拟机栈
1.虚拟机栈概述; 2.栈的存储单位; 3.局部变量表;4.操作数栈;5.代码追踪;6.栈顶缓存技术;7.动态链接;8.方法的调用;9.方法返回地址;10.一些附加信息;11.栈的相关面试题;
2025-08-22 21:30:27
308
原创 宋红康 JVM 笔记 Day05|运行时数据区内部结构、JVM中的线程说明、程序计数器
1. 运行时数据区内部结构;2. JVM中的线程说明;3. 程序计数器(PC寄存器);
2025-08-18 22:06:15
262
原创 宋红康 JVM 笔记 Day04|双亲委派机制、沙箱安全机制、类的自动使用与被动使用
1. 双亲委派机制;2. 沙箱安全机制;3. 类的自动使用与被动使用;
2025-08-18 21:16:26
148
原创 宋红康 JVM 笔记 Day03|内存结构概述、类加载器与类的加载过程、类加载器分类
1. 内存结构概述;2. 类加载器与类的加载过程;3. 类加载器分类;
2025-08-16 21:53:22
272
原创 宋红康 JVM 笔记 Day01|JVM介绍
1. 跨平台的语言Java + 跨语言的平台JVM;2. 字节码与多语言混合编程;3. Java及JVM历史上的重大事件;4. 虚拟机与Java虚拟机介绍;5. JVM的位置;6. JVM的整体结构;7. Java代码执行流程;
2025-08-14 22:10:36
434
空空如也
前端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订阅