首页
Java
杂记
友链
项目
算法刷题
关于我
gitcode
我的巴拉巴拉
1
自研数据库路由组件:实现动态数据源切换与分库分表
2
MyBatis 的执行流程
3
redis八股相关
4
MySQL
5
ZooKeeper实现分布式锁
登录
songqi
累计撰写
20
篇文章
累计收获
239
次访问
累计创建
11
个标签
导航
首页
Java
杂记
友链
项目
算法刷题
关于我
gitcode
我的巴拉巴拉
目录
置顶
redis八股相关
2025-03-25 15:18
14
0
0
25.4℃
Java
板子
2025-04-11 22:30
5
0
0
24.5℃
package test; //package test; import java.util.*; public class Main { static int N = 100010; static int[] e = new int[N * 2]; static int[] ne = ne
洛谷刷题时间处理
2025-04-08 11:26
6
0
0
24.6℃
算法刷题
题目https://www.luogu.com.cn/problem/P8665 输入处理: sc.nextInt() 读取测试用例数量 t。 sc.nextLine() 读取并丢弃剩余的换行符,避免影响后续输入。
MySQL
2025-04-01 11:37
13
0
0
25.3℃
Java
核心模块 存储引擎 主要是它的存储引擎,存储引擎是什么呢?就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称
🔍 死锁诊断方法大揭秘!💡
2025-03-31 00:44
3
0
0
24.3℃
Java
死锁有时候很隐蔽,可能只在特定条件下触发,所以排查死锁是个技术活 🕵️♂️。这里介绍几种超实用的方法,帮你快速找到并解决死锁问题 🚀。 🛠 方法 1:使用 jstack(最常用) jstack 是 Java 自带的工具,可以直接查看线程堆栈,快速发现死锁!🔎 jps -l jstack -
多线程
2025-03-31 00:36
6
0
0
24.6℃
Java
线程 线程和进程 进程:正在运行程序的实例 线程:进程中的执行单元,CPU调度的基本单位 并行和并发 并行:同一时间动手做多件事情的能力 并发:同一时间应对多件事情的能力 创建方式 继承Thread类
抽奖项目的加锁流程
2025-03-30 19:48
4
0
0
24.4℃
项目
加锁是为了解决高并发下的库存竞争问题,确保不会出现超卖情况。 整个是在校验完活动信息之后去,再实现库存扣减 整个setnx获取分布式锁的流程: 获取抽奖活动库存的KEY 使用Redis的incr命令原子性地扣减库存
JVM
2025-03-29 16:11
7
0
0
24.7℃
Java
类加载器 类的加载过程:加载 -> 连接 -> 初始化 连接过程:验证 -> 准备 -> 解析 加载过程:获取类的二进制字节流 -> 转换字节流的静态存储结构为运行时数据结构 -> 内存中生成一个class对象,作为数据的访问入口 作用:动态加载 Java 类的字节码( .class 文件)到 JV
抽奖策略中的几种算法
2025-03-28 16:27
5
0
0
24.5℃
项目
概率分配 单体概率 奖品抽空后,其他奖品概率保持不变,抽到空的就是没中奖了, 哈希表存储概率分布 随机数索引获取结果 整体概率 当某个奖品抽空后,剩余奖品概率按原比例重新分配。A(20%)抽空后,B(30%)和C(50%)变为B(37.5%)和C(62.5%) 排除不可抽奖的奖品(即库存为0的奖品)
滑动分布式锁处理秒杀
2025-03-28 15:14
7
0
0
24.7℃
项目
主要是去解决 高并发抽奖场景下的库存扣减问题,核心思路是:用Redis分布式锁替代数据库行锁,通过细粒度锁设计提升并发能力。 原先用数据库用数据库行锁扣库存(就是SQL里加SELECT ... FOR UPDATE)
上一页
下一页
1
2
弹