摘要: ReentrantLock 是 Lock接口的实现类,跟synchorized功能一样,都是为了让线程安全。但是他比synchorized有更多的特性。 FairSync :公平锁操作nonFairSync:非公平锁操作tryLock():尝试获取锁tryLock(long,TimeUnit):在指 阅读全文
posted @ 2019-05-04 22:39 卖臭豆腐喽 阅读(169) 评论(0) 推荐(0)
摘要: synchronized 在jdk 1.7之前是重量级锁,独占锁,非公平锁。jdk1.7之后,synchronized引入了 偏向锁,自旋锁,轻量级锁,重量级锁 自旋锁 当线程在获取锁的时候,如果发现锁已经由其他线程获得,这时候线程会先进行自旋,就是循环。如果在循环次数内这个线程得到了锁,那么他就进 阅读全文
posted @ 2019-05-04 22:35 卖臭豆腐喽 阅读(727) 评论(0) 推荐(0)
摘要: add remove 阅读全文
posted @ 2019-05-04 22:27 卖臭豆腐喽 阅读(312) 评论(0) 推荐(0)
摘要: Add 首次add 元素需要对数组进行扩容(初始化Capacity 10, 第二次扩容10>>1 为5, 第三次扩容15>>1 为7), 每次扩容之前长度的1.5倍,当add 的数据较多时扩容较为频繁,这时建议在new ArrayList() 指定初始容量 或者 使用 linkedList remo 阅读全文
posted @ 2019-05-04 22:23 卖臭豆腐喽 阅读(292) 评论(0) 推荐(0)
摘要: 例子1: 输出结果: 分析:第三个元素没有remove 掉,跟踪:第一次循环i=0 size=5 当前元素=1 不移除元素i=1 size=5 当前元素=2 移除元素i=2 size=4 当前元素=3 不移除元素 在remove 的过程中 size 是移动的,所以 第三个元素给漏掉了 例子2: 抛出 阅读全文
posted @ 2019-05-04 22:18 卖臭豆腐喽 阅读(1607) 评论(0) 推荐(0)