11 2020 档案

摘要:Java版本:8u261。 对于Java中的线程池,面试问的最多的就是线程池中各个参数的含义,又或者是线程池执行的流程,彷佛这已成为了固定的模式与套路。但是假如我是面试官,现在我想问一些更细致的问题,你还能答得上来吗?比如: 线程池是如何实现线程复用的? 如果一个线程执行任务的时候抛出异常,那么这个 阅读全文
posted @ 2020-11-22 12:20 雕爷的架构之路 阅读(798) 评论(0) 推荐(0)
摘要:Spring源码分析之循环依赖及解决方案 往期文章: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 Spring源码分析之Bean的创建过程详解 正文: 首先,我们需要明白什 阅读全文
posted @ 2020-11-16 11:30 雕爷的架构之路 阅读(549) 评论(0) 推荐(0)
摘要:本文基于JDK-8u261源码分析 1 简介 因为CLH队列中的线程,什么线程获取到锁,什么线程进入队列排队,什么线程释放锁,这些都是不受我们控制的。所以条件队列的出现为我们提供了主动式地、只有满足指定的条件后才能线程阻塞和唤醒的方式。对于条件队列首先需要说明一些概念:条件队列是AQS中除了CLH队 阅读全文
posted @ 2020-11-09 17:05 雕爷的架构之路 阅读(493) 评论(0) 推荐(0)
摘要:本文基于JDK-8u261源码分析 本篇文章为AQS系列文的第二篇,前文请看:[传送门] 第一篇:AQS源码深入分析之独占模式-ReentrantLock锁特性详解 1 Semaphore概览 共享模式就是有多个线程可以同时拿到锁资源,共享模式用Semaphore来举例,其与ReentrantLoc 阅读全文
posted @ 2020-11-04 21:05 雕爷的架构之路 阅读(855) 评论(1) 推荐(0)
摘要:本文基于JDK-8u261源码分析 相信大部分人知道AQS是因为ReentrantLock,ReentrantLock的底层是使用AQS来实现的。还有一部分人知道共享锁(Semaphore/CountDownLatch/CyclicBarrier)也是由AQS来实现的。也就是说AQS中有独占和共享两 阅读全文
posted @ 2020-11-02 21:46 雕爷的架构之路 阅读(508) 评论(0) 推荐(2)