如何保证LinkedHashMap以及它实现LRU缓存线程安全
herman 3年前 (2021-08-09) 3070浏览
本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我...
herman 3年前 (2021-08-09) 3070浏览
本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我...
herman 5年前 (2020-02-28) 2178浏览
锁粗化(Lock Coarsening)。锁粗化是合并使用相同锁对象的相邻同步块的过程。如果编译器不能使用锁省略(Lock Elision)消除锁,那么可以使用锁粗化来减少开销。 众所周知,Hotspot 确实进行了锁粗化优化,可以有效合并几...
herman 6年前 (2018-11-22) 3655浏览
阅读前面的文章,我们知道 ReentrantLock 是一个高效的锁,它既能用作公平锁,又能用作非公平锁!但是有了 ReentrantLock 后,为什么还需要 ReentrantReadWriteLock 呢? 那就需要从排他锁和共享锁说...
herman 6年前 (2018-11-22) 3018浏览
写锁呢就不可避免的要说可重入锁与不可重入锁。不可重入锁也有人成为非可重入锁,都是一个意思,不同的叫法而已! 前面我有篇文章《synchronized 是可重入锁吗?为什么?》写过 synchronized,今天我们再来借助 syn...