自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java 并发编程的锁机制(简介版)

在同一时间只能被一个线程执行。

2026-06-23 09:24:13 180

原创 ThreadLocal 的作用、原理及常见使用场景(结合线程池)

ThreadLocal 通过为每个线程提供独立变量副本,实现线程隔离;ThreadLocal 是线程级上下文容器,线程池只是线程的复用机制,本身不存业务数据。在多线程环境下,如果多个线程同时访问同一个共享变量,就需要加锁来保证线程安全,但加锁会带来性能开销和代码复杂度。ThreadLocal 必须配合 try-finally 使用 remove,在线程池场景下这是强制规范。ThreadLocal 是把用户信息存到“当前线程”里,而不是存到线程池中。ThreadLocalMap 的 key 是。

2026-06-23 09:02:04 238

原创 Redis 为什么使用 Lua 脚本可以保证原子性?

在 Redis 的高并发场景中(如秒杀、抢券、限流),我们经常会使用来完成一系列复杂操作。

2026-06-21 10:27:32 326

原创 自增 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

原创 面向对象设计(OOP)核心思想与 Java 实践总结

Java面向对象设计,主播会慢慢越写越好滴

2026-06-08 23:53:44 185

原创 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关注的人

提示
确定要删除当前文章?
取消 删除