- 博客(13)
- 收藏
- 关注
原创 ThreadLocal 的作用、原理及常见使用场景(结合线程池)
ThreadLocal 通过为每个线程提供独立变量副本,实现线程隔离;ThreadLocal 是线程级上下文容器,线程池只是线程的复用机制,本身不存业务数据。在多线程环境下,如果多个线程同时访问同一个共享变量,就需要加锁来保证线程安全,但加锁会带来性能开销和代码复杂度。ThreadLocal 必须配合 try-finally 使用 remove,在线程池场景下这是强制规范。ThreadLocal 是把用户信息存到“当前线程”里,而不是存到线程池中。ThreadLocalMap 的 key 是。
2026-06-23 09:02:04
238
原创 自增 ID 存在的问题及分布式 ID 解决方案(Redis 实战)
MySQL 自增 ID 不适合高并发、分布式场景存在: 安全风险 扩展性问题 分库分表冲突分布式 ID 是秒杀、订单系统的必备组件使用Redis + 时间戳 + 序列号: 高性能 全局唯一 趋势递增 实现简单,可控性强。
2026-06-17 23:02:24
205
原创 Redis 缓存一致性与三大缓存问题(使用黑马点评列子)
缓存虽能有效降低后端负载、提升读写效率并缩短响应时间,看起来似乎是“百利而无一害”的银弹。但事实并非如此——它并非适用于所有场景的万能方案。在实际项目中,盲目引入缓存往往会带来新的挑战:一方面增加了系统的运维复杂度和维护成本,另一方面也引入了数据一致性、缓存失效、雪崩等潜在风险。因此,缓存的使用并非“多多益善”,而是一项需要权衡利弊的架构决策。在决定引入缓存之前,团队应充分进行性能测试、容量评估和成本预算,综合判断缓存所带来的实际价值是否大于其引入的额外代价,从而做出理性、务实的技术选型。
2026-06-17 09:46:18
168
原创 基于 Redis 的短信验证码登录实现详解(替代 Session 集群方案)
用户提交账号密码服务端校验成功将用户信息存入浏览器持有JSESSIONID后续请求通过JSESSIONID找回 Session关键点Session 默认是存储在单台服务器内存中的。
2026-06-16 18:35:11
205
原创 Redisson 使用与原理总结(Java 后端实战向)
1. Redisson 是什么?→ 基于 Redis 的 Java 高级客户端2. Redisson 解决了什么问题?→ 分布式锁、分布式集合、延迟队列3. Redisson 锁的核心优势?→ 可重入 + 自动续期 + 安全可靠Redisson 并不是“银弹”,但在分布式场景下,它极大降低了 Redis 使用难度和出错概率。
2026-06-11 23:25:21
249
原创 Java 常用集合总结(实战向)
1. List 和 Set 的区别?- List 有序、可重复- Set 无序、不可重复2. HashMap 和 Hashtable 的区别?- HashMap 线程不安全,效率高- Hashtable 线程安全,效率低3. 为什么重写 equals 一定要重写 hashCode?- 保证 HashSet / HashMap 的正确性Java 集合不仅是 API 的集合,更是数据结构和设计思想的体现。理解底层结构知道使用场景能在面试中讲清楚。
2026-06-09 23:35:38
222
原创 Liunx如何连接虚拟机、Xshell、vscode
Liunx连接虚拟机、Xshell、vscode,这一篇就够了,自我总结,并且有自己踩过的一些坑
2024-11-28 21:15:00
1401
原创 图论的一些基本算法
处理图论得采用邻接矩阵表示法创建无向图,采用邻接表表示法创建无向图,图得深度优先搜索遍历,广度优先搜索遍历,最小生成树Prim算法,最小生成树Kruskal算法,
2024-11-21 18:50:17
492
原创 IO是什么?该怎样理解
是指将数据或命令送入计算机系统的过程,Output是指计算机系统对输入数据进行处理后返回的结果或响应。本蒟蒻大二,对IO理解肯定也是不完全的,但是我有兴趣去了解和学习了一些,希望也对各位大佬们有点用。,以一个进程的输入类型的IO调用为例,将产生以下工作,理解应用程序和操作系统干了什么,应用程序其实不存在实质的IO过程,真正的IO过程是操作系统内执行,IO调用是由进程(应用程序的运行态)发起,而IO执行是。调用与执行的过程,IO优化了计算机系统性能。了解IO的基本概念、常见的IO模型以及IO。
2024-11-20 20:30:06
1393
原创 Putting Bricks in the Wall(思维)Codeforces Round #676 (Div. 2)
题意: Pink想从(1,1)到(n,n),在从(1,1)走出来时,Pink会选择0或1这个点开始,并且在走到(n,n)的过程中,只能走刚开始选择的0或1一直走下去;解题思路:因为这是一道思维题,并且通过读题发现,可以只改变S(1,2)、(2,1)和F(n,n-1)、(n-1,n)的两个点的值,使对应的两个点起冲突,便可以实现Pink到不了终点。因为我刚看这道题测试很多遍没过,在整理好思路之后, 发现真的很简单,下面是我的一些想法。=s2开始进行判断,下面代码我感觉还是比较清晰的。
2024-11-11 19:46:09
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅