- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 PriorityBlockingQueue笔记
PriorityBlockingQueue笔记概述带优先级的阻塞队列,其底层是一个数组,该队列会自动扩容,默认会使用对象的 compareTo 方法进行比较,也可以自定义 comparator /** Default array capacity. */ private static final int DEFAULT_INITIAL_CAPACITY = 11; /...
2019-04-17 10:38:56 216
原创 LinkedBlockingQueue笔记
LinkedBlockingQueue笔记概述LinkedBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个单向链表(静态内部类 Node),默认构造器中,其队列的长度为 int 的最大值,如果队列满了,后续插入节点阻塞,并视情况是否丢弃,该队列有两个独占锁,对头节点操作使用一个独占锁,对尾节点操作使用一个独占锁,来存放被阻塞的线程/** ...
2019-04-15 10:26:25 101
原创 ArrayBlockingQueue笔记
ArrayBlockingQueue笔记概述ArrayBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个有界数组(Array),由于移动数组的位置代价过大,其利用 takeIndex 的移动来保证查找头节是理论上数组的队列头部,利用 putIndex 保证插入的节点位置理论上是数组队列队尾。此队列用了一个全局的独占锁,粒度大,性能差/** ...
2019-04-15 10:25:25 131
原创 CopyOnWriteList笔记
CopyOnWriteList笔记概述CopyOnWriteList 是一个写时复制的策略保证 list 的一致性,所以在其增删改的操作中都使用了独占锁 ReentrantLock 来保证某个时间只有一个线程能对 list 数组进行修改。其底层是对数组的修改,调用 Arrays.copyarray() 方法进行对数组的复制,在底层还是调用的 C++ 去进行的数组的复制 System.copya...
2019-04-13 16:28:55 5188
原创 ReentrantReadWriteLock笔记
ReentrantReadWriteLock笔记概述为了满足读多写少的场景,ReentrantReadWriteLock 应运而生,采用读写分离的策略,允许多线程同时获取读锁,读写锁内部维护了一个 ReadLock 和一个 WriteLock ,他们依赖 Sync 实现具体功能,Sync 继承字 AQS,并且也提供了公平和非公平的实现,可以近似的理解为书无级别为 Serializable 串行...
2019-04-13 16:28:10 150
原创 LinkedBlockingQueue笔记
LinkedBlockingQueue笔记概述LinkedBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个单向链表(静态内部类 Node),默认构造器中,其队列的长度为 int 的最大值,如果队列满了,后续插入节点阻塞,并视情况是否丢弃,该队列有两个独占锁,对头节点操作使用一个独占锁,对尾节点操作使用一个独占锁,来存放被阻塞的线程/** ...
2019-04-13 16:26:58 147
原创 AQS笔记
AQS笔记概述AQS 是 AbstractQueueSynchronized 抽象同步队列的简称,它是实现同步器的基础组件,并发包中锁的底层就是使用 AQS 实现的。AQS 是一个 FIFO 的双向队列,其内部通过节点 head 和 tail 记录队首和队尾元素,队列元素的类型为 Node。源码state(字段)单一的状态信息,可以通过 getState()、setState()、c...
2019-04-11 10:04:21 366
原创 Mysql打卡第三天
Mysql打卡第三天MySQL表数据类型数值类型日期和时间类型字符串类型用SQL语句创建表语句解释CREATE TABLE table_name ( column1 datatyoe, column2 datatyoe, column3 datatyoe,);table_name -> 表名column -> 列名datatype -...
2019-04-04 11:53:14 176
原创 Mysql打卡第二天
Mysql打卡第二天导入示例数据库登录Mysqlmysql -uroot -p****创建数据库CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;use yiibaidb;导入数据use yiibaidb;source D:/worksp/yiib...
2019-04-02 18:51:55 217
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人