随笔分类 -  源码

摘要:由上面的UML图可知,DelayQueue依赖于PriorityQueue,使用PriorityQueue存储对象,所以要彻底搞懂DelayQueue必须先知道PriorityQueue原理. PriorityQueue 架构 基本属性 //默认初始容量 private static final i 阅读全文
posted @ 2021-03-06 22:16 李昭 阅读(167) 评论(0) 推荐(0)
摘要:一, 什么是ConcurrentHashMap ConcurrentHashMap和HashMap一样是一个用来存储键值对<key,value>的集合类,但和HashMap不同的是ConcurrentHashMap是线程安全的,也就是多个线程同时对ConcurrentHashMap进行修改或者删除增 阅读全文
posted @ 2021-02-18 20:06 李昭 阅读(117) 评论(0) 推荐(0)
摘要:一, 什么是HashMap Java中Map是用来存储键值对<key,value>的集合类,也就是哈希表,而HashMap是Map的实现类. 具有存储效率高,查询快的特点,但不是线程同步的,按照哈希表的特点,Map中的key是不能重复的. 二, 实现原理 HashMap采用数组+链表+红黑树实现 每 阅读全文
posted @ 2021-02-12 17:41 李昭 阅读(75) 评论(0) 推荐(0)
摘要:一, 是什么?怎么用? 是什么? 是每个线程的本地变量,可以存储每个线程独有的变量. 怎么用? 可以为每个线程创建一个独有的变量对象 可以实现线程间的数据隔离 Spring声明式事务中使用ThreadLocal实现数据库隔离 二, 类架构 ThreadLocal属性 /** * 该值用于给Threa 阅读全文
posted @ 2020-10-22 09:07 李昭 阅读(73) 评论(0) 推荐(0)
摘要:上篇文章我们详细分析了AQS的底层实现原理,这节就来探索jdk中使用AQS实现的工具类 从源码看AQS ReentrantLock 一, 是什么?怎么用? 是什么? 是一个独占锁,也就是在并发环境下同一时刻只能有一个线程获得资源,也是一个可重入锁. 可重入锁: 一个线程已经获取到了该资源,下次再次获 阅读全文
posted @ 2020-10-22 09:05 李昭 阅读(356) 评论(0) 推荐(0)
摘要:一, 是什么,有什么作用? 概念: 抽象队列同步器,是Java一系列锁以及同步器的底层实现框架 作用: 实现像ReentrantLock,CountDownLatch,Semaphore这样的工具 二, 类的架构以及实现逻辑图 类架构图 类逻辑图 类中基本属性 /** * 头节点 */ privat 阅读全文
posted @ 2020-10-22 09:04 李昭 阅读(78) 评论(0) 推荐(0)