阿里面试题:请描述一下synchrnoized的底层实现及重入的实现原理
herman 5年前 (2020-03-19) 3682浏览
前两天,我闲着无事,在群里发了一个关于高并发的面试题,今天我来说一说这套面试题的第一小题的第一部分! 1、请描述synchrnoized和reentrantlock的底层实现及重入的底层原理 2、请描述锁的四种状态和升级过程 3、...
herman 5年前 (2020-03-19) 3682浏览
前两天,我闲着无事,在群里发了一个关于高并发的面试题,今天我来说一说这套面试题的第一小题的第一部分! 1、请描述synchrnoized和reentrantlock的底层实现及重入的底层原理 2、请描述锁的四种状态和升级过程 3、...
herman 5年前 (2020-01-11) 2814浏览
最近看到一篇很好的 volatile 可见性原理总结,分享给大家! volatile 是一种轻量且在有限的条件下线程安全技术,它保证修饰的变量的可见性和有序性,但非原子性。相对于 synchronize 高效,而常常跟 synchronize...
herman 6年前 (2018-10-31) 8368浏览
程序就是模仿世界!比如队列就是模仿人们的排队场景,再比如工厂模式,代理模式等都是和现实生活息息相关的场景衍生而来。在前面还记得我们的 synchronized 锁吗?还记得 Object 的 wait 方法吗?它们分别有各自的池,及:锁...
herman 6年前 (2018-10-12) 9837浏览
最近有人私信我,说面试中问到了 synchronized,被批的一塌糊涂,挂了!Why?他说其中一个问题,问他 synchronized 是可重入锁吗?他说不是!为什么不是,他说 java 中有 ReentrantLock,R...
xmt_herman_gcy 7年前 (2017-07-06) 2535浏览 0评论
ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程...