synchronized 实现原理

简单来说是一种对象锁,锁的是对象,而不是引用 32位对象头mark work分布:

2024-03-06 · 1 min · 39 words · luolin

Jdk8 ConcurrentHashMap的死循环bug

public static void main(String[] args) { ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>(16); map.computeIfAbsent( "AaAa", key -> { return map.computeIfAbsent( "BBBB", key2 -> 42); } ); System.out.println("程序完成"); } 执行以上代码,程序...

2024-03-04 · 1 min · 235 words · luolin

位图BitMap

什么是BitMap BitMap算法的核心思想在于用bit数组记录0/1两种状态,然后再将具体数据映射到这个比特数组的具体位置,这个比特位表示...

2024-03-03 · 2 min · 525 words · luolin

布隆过滤器

什么是布隆过滤器 在实际业务场景中,存在网页 URL 去重、垃圾邮件识别、大集合中重复元素的判断和缓存穿透等问题。而布隆过滤器就主要是用于检索一个元素...

2024-03-01 · 1 min · 449 words · luolin

Clean Code

把系统当作故事来写 有意义的命名 尽量避免误导,即使用类似命名表达完全不一样的意思。避免双关语,即同一个名称表达两种意思。 不需要使用a,the等...

2024-02-21 · 3 min · 1317 words · luolin