摘要: 各种锁简介https://www.cnblogs.com/jyroy/p/11365935.html 还有一篇 讲解lock的实现原理,参考:解决多线程安全问题-无非两个方法synchronized和lock 具体原理以及如何 获取锁AQS算法 (百度-美团) 记得开始学习Java的时候,一遇到多线 阅读全文
posted @ 2020-06-16 17:18 骑着猪猛跑 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 一、HashSet private transient HashMap<E,Object> map; //map集合,HashSet存放元素的容器 private static final Object PRESENT = new Object(); //map,中键对应的value值 HashSe 阅读全文
posted @ 2020-06-16 11:04 骑着猪猛跑 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一、HashMap 线程不安全 初始化:构造一个空的HashMap,初始容量为16,负载因子为0.75 https://www.jianshu.com/p/dde9b12343c1 (1.7 Entry<K,V>头插法 1.8Node<K,V>尾插法) 扩容:通过HashMap源码可以看到是在put 阅读全文
posted @ 2020-06-16 10:36 骑着猪猛跑 阅读(2115) 评论(0) 推荐(0) 编辑
摘要: 一、ArrayList 线程不安全 1.数据结构(数组 transient Object[] elemetData;) ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。 2.扩容(1.5倍,在add时初始化默认为10) 阅读全文
posted @ 2020-06-16 10:31 骑着猪猛跑 阅读(2190) 评论(0) 推荐(0) 编辑