最新 最热

异步模式之工作线程

让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现 就是线程池,也体现了经典设计模式中的享元模式。...

2023-10-15
1

ThreadPoolExecutor解读

ThreadPoolExecutor 使用 int 的高 3 位来表示线程池状态,低 29 位表示线程数量

2023-10-15
1

Redis之缓存穿透,雪崩,击穿解读

当我们请求去查询一条记录,先到redis中查询后到mysql查询都发现找不到该条记录,但是请求每次都会打到数据库上面去,导致后台数据库压力暴增,这些请求像“穿透”了缓存一样直接打在数据库上,这种现象就叫做缓存穿透。这...

2023-10-15
1

Redis之缓存穿透,雪崩,击穿解读

当我们请求去查询一条记录,先到redis中查询后到mysql查询都发现找不到该条记录,但是请求每次都会打到数据库上面去,导致后台数据库压力暴增,这些请求像“穿透”了缓存一样直接打在数据库上,这种现象就叫做缓存穿透。这...

2023-10-15
1

JDK 8 ConcurrentHashMap

ConcurrentHashMap是Java中的一个线程安全的哈希表实现,它是HashMap的一个并发版本。它提供了一种高效的方式来在多线程环境下进行并发访问和更新。与普通的HashMap不同,ConcurrentHashMap使用了锁分段技术,将整个哈希表...

2023-10-15
1

JDK 7 HashMap 并发死链

注意 要在 JDK 7 下运行,JDK7以后否则扩容机制和 hash 的计算方法都变了

2023-10-15
2

Curator中的分布式锁解读

Curator是netflix公司开源的一套zookeeper客户端,目前是Apache的顶级项目。与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开...

2023-10-15
1

常用的JVM参数选项

栈-Xss128k <==> -XX:ThreadStackSize=128k 设置线程栈的大小为128K

2023-10-15
1

Redis之缓存和数据库双写一致方案讨论解读

只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题。我们需要保证redis跟数据库的中的数据保持一致,返回正确的数据。...

2023-10-15
1

一文打通CAS

CAS(compare and swap)的缩写,中文翻译成比较并交换,实现并发算法时常用到的一种技术。 它包含三个操作数——内存位置、预期原值及更新值。 执行CAS操作的时候,将内存位置的值与预期原值比较:如果相匹配,那么处理器会自...

2023-10-15
1