结构上,底层使用数组+单向链表+红黑树的结构,节点数大于8时会转为红黑树,节点数小于6时会转为单向链表。 首先 […]
Concurrent包(二):深入ReentrantLock
ReentrantLock简介 ReentrantLock表示重入锁,它是唯一一个实现了 Lock 接口的类。 […]
Concurrent包(一):深入AQS
Concurrent包(一):深入AQS concurrent包 Java.util.concurrent 是 […]
神奇的0x61c88647——浅析ThreadLocal
0x61c88647的特点 这个数是Integer有符号整数的0.618倍,既黄金比例,斐波拉契数列。使用这个 […]
可见性问题:Volatile的本质
什么是可见性问题 在单线程的环境下,如果向一个变量先写入一个值,在没有写干涉的情况下读取这个变量的值,此时读取 […]
关于锁
Java中的同步锁synchronized synchronized的基本用法 根据修饰的对象 修饰实例方法: […]
线程基础和使用
线程的生命周期(来源《JAVA并发编程的艺术》) 创建线程的方式 1、继承Thread类 public cla […]
Spring事务原理
首先得知道程序是如何连接数据库的? DataSource封装了Connection,Connection封装了 […]
Spring源码阅读(四):MVC实现原理
MVC实现原理 流程: 一个request由DispatcherServlet接收到,根据请求的url去han […]
Spring源码阅读(三):AOP实现原理
AOP实现原理 1、切面(Aspect):面向规则,具有相同规则的方法的集合体。 2、通知(Advice):回 […]