加载中
Spring5.0源码深度解析之SpringBean的生命周期

SpringBean的生命周期 一:单例与多例对象是如何初始化 单例默认情况下是在容器被加载的时候就会初始化 多例是在每次获取Bean对象的时候初始化 代码验证: @Component public class UserEnti...

Spring5.0源码深度解析之Spring基于注解启动流程分析

主要内容: 一、IOC容器的初始化流 创建IOC容器 注册配置类 BeanFactory后置处理器 Bean的后置处理器 创建Bean对象 IOC容器的初始化流程 从: ApplicationContext applicationContext = new ...

Spring5.0源码深度解析之Spring核心注解

Spring核心注解原理 这篇文章主要针对Spring核心注解进行分析 一:@Condition注解 Condition 是在spring4.0 增加的条件注解,通过这个可以功能可以实现选择性的注入Bean操作,接下来先学习下...

Spring5.0源码深度解析之理解Configuration注解

Spring5.0之:@Configuration的使用 @Configuration用于定义配置类,可替换XML配置文件,被注解的类内部包含有一个或者多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationCo...

Mybatis深入源码分析之SqlSessionFactory二级缓存原理分析

上篇内容回顾可以参考;Mybatis深入源码分析之SQLSession一级缓存原理分析 这里再概括下上篇源码分析内容: 一:Mybatis一级缓存 mybatis的一级缓存是SqlSession缓存,在操作数据库的时候需要...

Mybatis深入源码分析之SQLSession一级缓存原理分析

通过前面几篇文章,Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析,Mybatis深入源码分析之Mapper与接口绑定原理源码分析。我们对Mybatis源码也有了一定的了解。本篇文章,我们继续...

Mybatis深入源码分析之Mapper与接口绑定原理源码分析

紧接上篇文章:Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析,这里再来分析下,Mapper与接口绑定原理。 本章疑问: // 5.操作Mapper接口 UserMapper mapper = sqlSession.getMapp...

Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析

一:源码分析代码片段 public static void main(String[] args) { try { // 基本mybatis环境 // 1.定义mybatis_config文件地址 String resources = "mybatis_config.xml"; ......

Java并发编程笔记——J.U.C之executors框架:ScheduledThreadPoolExecutor

一、ScheduledThreadPoolExecutor简介 在executors框架设计理念 一节中,我们曾经提到过一种可对任务进行延迟/周期性调度的执行器(Executor),这类Executor一般实现了ScheduledExecutorSe...

Java并发编程笔记——J.U.C之executors框架:ThreadPoolExecutor

一、ThreadPoolExecutor简介 在J.U.C之executors框架:executors框架设计理念的章节中,我们已经简要介绍过ThreadPoolExecutor了,通过Executors工厂,用户可以创建自己需要的执行器对象。T...

Java并发编程笔记——J.U.C之executors框架:executors框架设计理念

一、executors框架简介 juc-executors框架是整个J.U.C包中类/接口关系最复杂的框架,真正理解executors框架的前提是理清楚各个模块之间的关系,高屋建瓴,从整体到局部才能透彻理解其中各个模...

Java并发编程笔记——J.U.C之collections框架:ConcurrentLinkedQueue

一:ConcurrentLinkedQueue简介 ConcurrentLinkedQueue是线程安全的无界非阻塞队列,其底层数据结构使用单向链表实现,对于入队和出队操作使用CAS来实现线程安全。 Doug Lea在实现Concurren...

一篇文章搞定——JDK8中新增的StampedLock

一、StampedLock类简介 StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控...

读写锁——ReentrantReadWriteLock原理详解

1.读写锁ReentrantReadWriteLock的原理 解决线程安全问题使用ReentrantLock就可以了,但是ReentrantLock是独占锁,某一时刻只有一个线程可以获取该锁,而实际中会有写少读多的场景,显然Ree...

可重入的独占锁——ReentrantLock源码分析

ReentrantLock面试题分析 1、ReentrantLock是怎么实现的? 2、ReentrantLock的公平锁和非公平锁是如何实现的? 1.ReentrantLock类图结构 从类图我们可以直观地了解到,ReentrantLock最终还是...

CAS
07/20 16:23
1K
抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

LockSupport实现线程挂起和唤醒——深入浅出原码分析

面试题 (1)LockSupport比Object的wait/notify有两大优势,分别是什么? (2)LockSupport源码是如何实现的,具体说说你的看法? (1)LockSupport比Object的wait/notify有两大优势,分别是...

ArrayList和CopyOnWriteArrayList面试题总结与源码分析

面试题 (1)ArrayList和CopyOnWriteArrayList的增删改查实现原理? (2)为什么说ArrayList查询快而增删慢? (3)弱一致性的迭代器原理是怎么样的? (4)CopyOnWriteArrayList为什么并发安...

比LongAddr功能更强大的LongAccumulator原子类原理探究

面试题 (1)LongAccumulator与LongAddr类的结构 (2)LongAddr与LongAccumulator类有什么区别? (3)LongAddr与LongAccumulator类相同点? (1)LongAccumulator与LongAddr类的结构 (2)L...

六个面试题层层剖析——LongAddr原子类原理探究

并发编程面试题 (1)LongAddr的结构是怎样的? (2)当前线程应该访问Cell数组里面的哪一个Cell元素? (3)如何初始化Cell数组? (4)Cell数组如何扩容? (5)线程访问分配的Cell元素有冲...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部