- 博客(126)
- 收藏
- 关注

原创 Spring Boot 断言:让你的代码在上线前就通过“体检”!
断言,就像你做菜时的这个“心里想的”。它是一种检查机制,用来确保你的代码在运行过程中,某些条件必须为真。✅
2025-03-23 18:30:00
5017
17
原创 Redis 线程模型:单线程也能快如闪电?
Redis 单线程处理命令,天然就避免了这种并发修改数据的问题,不需要加锁,代码简单,效率高。减少线程切换开销。
2025-04-06 20:29:33
739
2
原创 Redis内存碎片详解!
想象一下你是个超棒的停车场管理员 🧑✈️,管理着一个大停车场(这就是你服务器的内存)。停车场空荡荡的,一排排整整齐齐✨。不断有各种大小的车(比如小轿车🚗、SUV🚙、小货车🚐)开进来找位子停(数据来了,Redis 需要分配内存)。有些车办完事就开走了(数据被删掉或过期了),留下了空车位。这些空出来的车位啊,大小不一,而且东一个西一个,分散得很 🗺️。这时候,如果想停进来一辆大卡车 🚚(需要一大块连续内存),虽然停车场里七七八八的小空位加起来总面积足够大,但就是找不到一个连在一起。
2025-04-05 18:22:30
791
9
原创 Redis 大 Key:别让你的 Redis 变成“胖子”!
Redis 大 Key 并没有一个绝对统一的定义,它是个相对概念。通常指 Key 对应的Value所占用的内存空间过大,或者Value中成员(元素)数量过多。
2025-04-05 18:22:10
1055
8
原创 冗余设计:保证系统和数据高可用的“备份”策略
冗余设计是一种提高系统可靠性和可用性的策略,通过复制关键组件或功能,使得当某个主要组件发生故障时 💥,其冗余备份能够自动或手动接管其工作 🔄,从而保证系统能够持续提供服务 👍,或者能够快速恢复服务,并且保证数据不丢失或少丢失 🛡️。
2025-04-01 16:35:15
1156
24
原创 服务熔断和降级,别傻傻分不清!
服务熔断是一种防止系统过载的保护机制。🔌 当一个服务因为故障(如网络问题、服务不可用等)导致大量请求失败时,熔断器会“断开”这个服务,阻止更多的请求发送到这个服务,从而保护系统不被进一步的故障影响。想象一下,你家的电路如果短路了,保险丝会熔断,切断电源,防止火灾。🔥 服务熔断也是类似的,当一个服务出现问题,熔断器会“切断”这个服务,防止问题扩散。为什么需要熔断?如果一个服务挂了💀,调用它的服务也会跟着挂,然后这些服务又会影响其他服务,最终导致整个系统瘫痪,这就是雪崩效应。熔断可以阻止这种连锁反应。
2025-03-31 17:51:07
590
13
原创 RPC 详解,小白也能听懂!
RPC 就像一个翻译器和快递员,帮你把本地的函数调用转换成远程服务调用,让你像使用本地函数一样使用远程服务,从而简化微服务架构的开发和维护。😊
2025-03-31 11:35:54
1164
6
原创 Java中的BigDecimal,你真的会用吗?
BigDecimal是 Java 中用于进行精确十进制计算的重要类。它适用于金融、科学等需要高精度计算的场景。🎉
2025-03-29 17:12:20
1161
4
原创 阿里OSS使用指南!
阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。
2025-03-28 17:48:55
828
8
原创 Java Optional:优雅处理空值的艺术,告别NullPointerException
Optional是一个容器,用于包装可能为空的值。📦
2025-03-28 12:26:06
604
4
原创 MySQL索引失效全攻略,通俗易懂!
索引失效指的是MySQL查询优化器在执行查询时,明明表上有索引,但却没有选择使用索引,而是进行了全表扫描。这会导致查询效率大幅下降,尤其是在数据量大的时候。
2025-03-27 17:51:24
831
6
原创 Java SPI机制,看完就懂了!
SPI 全称是 Service Provider Interface,翻译过来就是“服务提供者接口”。你可以把它想象成一个“插座” 🔌。
2025-03-26 16:57:15
919
9
原创 超时重试机制,你真的了解吗?
超时机制和重试机制是解决网络不稳定和服务偶尔抽风的有效手段。超时机制可以避免程序一直卡在那里,重试机制可以提高请求的成功率。💯
2025-03-26 11:29:47
738
原创 数据脱敏:保护隐私,刻不容缓!(附带脱敏工具)
数据脱敏,也称为数据屏蔽、数据变形,是指对某些敏感数据通过脱敏规则进行转换,使其不再是原始的、真实的敏感数据,从而保护数据的安全性。😁
2025-03-25 17:31:43
858
原创 SpringBoot自动装配原理详解!结合源代码讲解!
想象一下,你组装一台电脑 💻。以前,你需要自己买 CPU、内存、硬盘、显卡,然后自己把它们一个个插到主板上,还要设置各种参数,确保它们能一起工作 ⚙️。这很麻烦 😫!自动装配就像是:你买了一台已经组装好的电脑 🖥️,插上电源就能用 🔌。CPU、内存、硬盘、显卡都帮你装好了,而且它们之间的配合也已经设置好了 👍。你不用操心这些细节,直接用就行了 😎。Spring Boot 帮你自动配置好各种常用的组件,比如数据库连接 🗄️、Web 服务器 🌐、消息队列 ✉️ 等等。
2025-03-25 11:15:00
891
原创 Spring Boot 日志深度解析:从入门到精通
Spring Boot的日志系统通过SLF4J和Logback提供了灵活的配置能力,支持控制台、文件输出、动态调整日志级别等。😊😊
2025-03-24 17:50:11
1080
原创 Jackson:Java 开发者必备的 JSON 工具
Jackson 是一个强大的 JSON 处理库 💪,在 Java 和 Spring Boot 中被广泛使用。
2025-03-24 11:22:02
840
原创 MySQL的Union和Union all,你真的懂吗?
如果你不想要重复的内容,用UNION,但速度会慢一点。如果你不在乎重复的内容,用UNION ALL,速度更快。
2025-03-23 12:35:49
790
原创 MyBatis-Plus 自动填充:优雅实现创建/更新时间自动更新!
MyBatis-Plus 自动填充是指在执行insert或update操作时,自动为某些字段设置值,而无需手动在代码中进行赋值。🎉
2025-03-22 21:45:45
1377
原创 Java 线程池的线程数,这样设置更高效!
设置线程池大小是一个需要根据实际情况进行调整的过程。没有一个通用的公式可以适用于所有场景。关键是要理解任务的类型、CPU 核心数、任务的平均执行时间、任务的提交频率等因素,并结合监控数据进行动态调整。
2025-03-22 11:29:34
1181
原创 Lombok 入门到精通:告别冗余代码
Lombok 是一个 Java 库,它通过注解的方式,在编译时自动生成一些样板代码,例如 getter、setter、构造函数、equals、hashCode 和 toString 方法等。😀
2025-03-21 17:33:43
1226
原创 避免 ABA 问题,你只需要这几招!
ABA 问题发生在并发环境下,特别是在使用 CAS(Compare-and-Swap)操作时。简单来说,ABA 问题是指一个变量的值,从 A 变成了 B,然后又变回了 A。
2025-03-19 18:00:58
1031
原创 接口幂等性方案全解析:10种方案对比与选择指南(附代码示例)
幂等性同一个请求发多少次,结果都和第一次一样!就像你给朋友发消息说“我要1杯奶茶”,即使消息重复发送10次,朋友也只会给你1杯,而不是10杯!
2025-03-18 11:29:02
999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人