
每天一个java小技巧
文章平均质量分 77
每天分享一个java开发的小技巧,积跬步,至千里
加瓦点灯
北漂后端程序员,坚持分享后端开发相关知识,一起进步。同名公众号:加瓦点灯
展开
-
观察者模式:解耦对象间的依赖关系
观察者模式原创 2025-03-29 23:23:41 · 1135 阅读 · 0 评论 -
轻量级限流算法的实现,拿走即用!
这段限流算法实现的比较简易,仅适合单体服务,如果是分布式系统可以使用redis来实现。最后, 欢迎收看往期干货加瓦点灯。原创 2025-01-20 17:11:34 · 788 阅读 · 0 评论 -
保姆级解析雪花算法原理,看完必懂!
算法结合了时间戳、机器节点ID和序列号,保证了生成的ID在分布式环境下的唯一性,并且能够高效地生成ID(,但是它在实现上做了若干调整,主要体现在时间的基准点、节点ID的位宽、序列号的位宽等方面。:为了确保在高并发环境下生成的ID是唯一的,并且避免多个线程同时生成ID时产生冲突,使用了自旋锁。节点ID的设计保证了在多节点环境下生成的ID不会冲突,每个节点生成的ID是唯一的。:此时没有更多的ID可以生成,因此需要等待直到系统时间继续前进,产生下一个毫秒的时间戳。原创 2025-01-18 22:43:30 · 590 阅读 · 0 评论 -
使用 Java 实现基于 DFA 算法的敏感词检测
DFA(确定有限状态自动机)是一种用于字符串匹配的高效算法。它的核心思想是将多个敏感词组织成一棵状态机,在匹配过程中避免重复扫描,提升检测速度。构建状态机(即DFA树):将敏感词列表逐字构建成一个树形结构,每个字符对应一个节点,单词的结束位置标记为终止状态。文本匹配:使用状态机遍历输入文本,遇到匹配字符时进入下一个状态,直到匹配完整的敏感词。DFA 的优点在于匹配时的时间复杂度是 O(n),即文本长度的线性时间,适用于高性能需求的敏感词检测。原创 2025-01-17 11:04:29 · 445 阅读 · 0 评论 -
【用 StampedLock 实现高效读写锁】
用 StampedLock 实现高效读写锁原创 2025-01-10 10:38:06 · 311 阅读 · 0 评论 -
Java 开发小技巧:使用 String.intern() 优化内存
使用 String.intern() 优化内存原创 2025-01-09 22:09:47 · 522 阅读 · 0 评论 -
【巧用 Map.computeIfAbsent 简化代码】
巧用 Map.computeIfAbsent 简化代码原创 2025-01-09 21:59:59 · 470 阅读 · 0 评论 -
【Optional 的 orElseGet 和 orElse区别】
Optional的orElse和orElseGet的区别原创 2025-01-09 21:42:47 · 435 阅读 · 0 评论