04 2024 档案
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
摘要:一、写在开头 我们在上一篇写ReentrantReadWriteLock读写锁的末尾留了一个小坑,那就是读写锁因为写锁的悲观性,会导致 “写饥饿”,这样一来会大大的降低读写效率,而今天我们就来将此坑填之!填坑工具为:StampedLock,一个素有Java锁王称号的同步类,也是在 java.util
阅读全文
Java中的读写锁ReentrantReadWriteLock详解,存在一个小缺陷
摘要:写在开头 最近是和java.util.concurrent.locks包下的同步类干上了,素有 并发根基 之称的concurrent包中全是精品,今天我们继续哈,今天学习的主题要由一个大厂常问的Java面试题开始: 小伙子,来说一说Java中的读写锁,你都用过哪些读写锁吧? 这个问题小伙伴们遇到了该
阅读全文
大厂面试题:ReentrantLock 与 synchronized异同点对比
摘要:写在开头 在过去的博文中我们学习了ReentrantLock 与 synchronized这两种Java并发使用频率最高的同步锁,在很多大厂面试题中有个经典考题: ReentrantLock 与 synchronized异同点对比! 今天我们针对这一考题来做一个尽可能全面的总结哈。 Reentran
阅读全文
从源码入手详解ReentrantLock,一个比synchronized更强大的可重入锁
摘要:写在开头 随手一翻,发现对于Java中并发多线程的学习已经发布了十几篇博客了,多线程 是Java基础中的重中之重!因此,可能还需要十几篇博客才能大致的讲完这部分的知识点,初学者对于这部分内容一定要多花心思,不可马虎!今天我们继续来学习一个重要知识点:ReentrantLock ReentrantLo
阅读全文
面试官:说一说CyclicBarrier的妙用!我:这个没用过
摘要:写在开头 面试官:同学,AQS的原理知道吗? 我:学过一点,抽象队列同步器,Java中很多同步工具都是基于它的... 面试官:好的,那其中CyclicBarrier学过吗?讲一讲它的妙用吧 我:啊,这个,这个我平时写代码没用过... 面试官:那你回去再学学吧! 随着Java的国内竞争环境逐渐激烈,面
阅读全文
面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这
摘要:写在开头 在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器),而CountDownLatch又是其中典型的代表,我们今天就继续来学一下这个同步工具类! CountDownLatch有何作用? 我们知道AQS是专属于构造锁和同步器的一个抽
阅读全文
今天我们来聊一聊Java中的Semaphore
摘要:写在开头 在上几天写《基于AQS手写一个同步器》时,很多同学留言说里面提到的Semaphore,讲得太笼统了,今天趁着周末有空,咱们就一起详细的学习和梳理一把 Semaphore。 什么是Semaphore? 在前面我们讲过的synchronized 和 ReentrantLock 都是一次只允许一
阅读全文
美团一面,面试官让介绍AQS原理并手写一个同步器,直接凉了
摘要:写在开头 今天在牛客上看到了一个帖子,一个网友吐槽美团一面上来就让手撕同步器,没整出来,结果面试直接凉凉。 就此联想到一周前写的一篇关于AQS知识点解析的博文,当时也曾埋下伏笔说后面会根据AQS的原理实现一个自定义的同步器,那今天就来把这个坑给填上哈。 常用的AQS架构同步器类 自定义同步器实现步骤
阅读全文
到底什么是AQS?面试时你能说明白吗!
摘要:写在开头 上篇文章写到CAS算法时,里面使用AtomicInteger举例说明,这个类在java.unit.concurrent.atomic包中,存储的都是一些原子类,除此之外,“java.unit.concurrent”,这个包作为Java中最重要的一个并发工具包,大部分的并发类都在其中,我们今
阅读全文