源码分析
-
CountDownLatch及CyclicBarrier源码分析
之前写的一篇博客JUC包下的线程协作计数CountDownLatch及CyclicBarrier只是介绍了一下这两个工具类的用法,并没有深入探究源码,然而实现方法也比较简单,所以合…
-
ThreadPoolExecutor源码分析-线程池如何实现线程复用?
线程的复用问题 在开始看线程池的源码之前,先来看这么一个问题: 一个Thread对象可以重复地调用start()方法吗? 试试就知道了: @Test public void tes…
-
JDK8新增高效原子累加器LongAdder源码分析
很久以前写过CAS应用之JUC下的原子类,但是LongAdder这个类没有去看,只是给了一个其他博客的参考链接。今天就自己来分析一下。 AtomicLong的问题和LongAdde…
-
Random在多线程下的问题以及ThreadLocalRandom类分析
Ramdom在多线程环境下的问题 首先我们看一下Random类的nextInt源码: //产生[0,bound)的随机数 public int nextInt(int bound)…
-
IOC容器启动源码6-12步分析-触发单例Bean的初始化
接着refresh()方法的第六步开始写下去: @Override public void refresh() throws BeansException, IllegalStat…
-
IOC容器启动源码第5步分析续-createBean到底是怎么实现的?
接着IOC容器启动源码第3、4、5步分析-getBean是怎么实现的写下去: 上次谈到,创建单例和原型对象都是通过方法createBean,只是单例只会创建一次,而原型对象每次都会…
-
IOC容器启动源码第3、4、5步分析-容器加载了哪些非Bean对象?
继续顺着IoC容器启动源码第1、2步分析-Bean是如何注册进IoC容器的?写下去,从第三步开始分析了: prepareBeanFactory // 3. 准备当前上下文要用的Be…
-
IoC容器启动源码第1、2步分析-Bean是如何注册进IoC容器的?
我们接着Spring各模块说明和IoC容器启动源码简析继续分析,上一次,我们提到IoC容器的启动逻辑核心就在refresh方法中,今天深入分析,走到哪算哪: @Override p…
-
Spring各模块说明和IoC容器启动源码简析
Spring5模块纵览 找了好久才找到Spring5的这张图。。 Spring的github地址: https://github.com/spring-projects/sprin…
-
谈一谈StringBuffer、StringBuilder及String在JDK9中的变化
本文参考资源: JAVA9 String新特性,说说你不知道的东西Java人在江湖-CSDN博客 StringBuffer和StringBuilder的区别 这里谈的是JDK8中S…