如何保证LinkedHashMap以及它实现LRU缓存线程安全
herman 3年前 (2021-08-09) 3071浏览
本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我...
herman 3年前 (2021-08-09) 3071浏览
本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我...
herman 5年前 (2020-03-19) 3682浏览
前两天,我闲着无事,在群里发了一个关于高并发的面试题,今天我来说一说这套面试题的第一小题的第一部分! 1、请描述synchrnoized和reentrantlock的底层实现及重入的底层原理 2、请描述锁的四种状态和升级过程 3、...
herman 6年前 (2018-12-25) 7283浏览
今天是西方的一个传统节日,圣诞节。在此期间微信支付,轰轰烈烈的搞了一个免单彩蛋。没想到阿里不甘示弱,在开源的 Ant Design 项目中埋了一个圣诞彩蛋。遭到大量的网友的吐槽! 事件的原因是这样的:Ant Design 开源框架在一个核心...
herman 6年前 (2018-11-22) 3656浏览
阅读前面的文章,我们知道 ReentrantLock 是一个高效的锁,它既能用作公平锁,又能用作非公平锁!但是有了 ReentrantLock 后,为什么还需要 ReentrantReadWriteLock 呢? 那就需要从排他锁和共享锁说...
herman 6年前 (2018-11-22) 3019浏览
写锁呢就不可避免的要说可重入锁与不可重入锁。不可重入锁也有人成为非可重入锁,都是一个意思,不同的叫法而已! 前面我有篇文章《synchronized 是可重入锁吗?为什么?》写过 synchronized,今天我们再来借助 syn...
herman 6年前 (2018-11-22) 2933浏览
关于 Java 中的锁,我这算是写了一个系列了!今天我们进行写锁,Java 中的公平锁 VS 非公平锁。 网上关于 Java 中锁的内容有很多,所以我写的这些内容百度都不怎么喜欢,也很难搜索这些知识点到我的个人网站上。但是这些内容呢?我是想...
herman 6年前 (2018-11-17) 2514浏览
Java 中日常用到的锁大概有 14 种:悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁。 每种锁都有不同的使用场景!具体哪种场景使用哪种锁,你只需要回答下面 ...
herman 6年前 (2018-11-04) 2524浏览
先说一下,我为什么要写这篇文章!因为有位网友给我发了一篇关于AtomicInteger的文章:https://blog.csdn.net/fanrenxiang/article/details/80623884,说看不懂。我看了这篇文章,我说看不...
herman 6年前 (2018-10-12) 9836浏览
最近有人私信我,说面试中问到了 synchronized,被批的一塌糊涂,挂了!Why?他说其中一个问题,问他 synchronized 是可重入锁吗?他说不是!为什么不是,他说 java 中有 ReentrantLock,R...
herman 6年前 (2018-09-17) 4797浏览 0评论
锁不管是在工作中还是生活中都到处存在。在编程的世界中,也是普遍的存在,用不好,会产生很多麻烦问题。 前两天有一个网友在群里问我 synchronized 锁的问题,当时没怎么细说,以后有时间了来写篇文章。本文主要是介绍借用数据库的悲观锁来实...
xmt_herman_gcy 7年前 (2017-07-06) 2531浏览 0评论
ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程...
herman 8年前 (2016-12-06) 3315浏览 0评论
有网友在面试过程中遇到了并发方面的知识,今天我就为大家简单的分析一下 java 关于并发编程和设计的知识,希望大家喜欢! 所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同...