随笔分类 -  jdk

摘要:CountDownLatch 是一个同步工具,允许一个或多个线程 等待其他线程(一个或多个线程)完成一组操做。 CountDownLatch 中的方法不多: public CountDownLatch(int count) 构造方法 count 是同步计数的初始值 public void count 阅读全文
posted @ 2020-09-16 10:21 卖臭豆腐喽 阅读(184) 评论(0) 推荐(0)
摘要:ReentrantLock 是 Lock接口的实现类,跟synchorized功能一样,都是为了让线程安全。但是他比synchorized有更多的特性。 FairSync :公平锁操作nonFairSync:非公平锁操作tryLock():尝试获取锁tryLock(long,TimeUnit):在指 阅读全文
posted @ 2019-05-04 22:39 卖臭豆腐喽 阅读(168) 评论(0) 推荐(0)
摘要:synchronized 在jdk 1.7之前是重量级锁,独占锁,非公平锁。jdk1.7之后,synchronized引入了 偏向锁,自旋锁,轻量级锁,重量级锁 自旋锁 当线程在获取锁的时候,如果发现锁已经由其他线程获得,这时候线程会先进行自旋,就是循环。如果在循环次数内这个线程得到了锁,那么他就进 阅读全文
posted @ 2019-05-04 22:35 卖臭豆腐喽 阅读(726) 评论(0) 推荐(0)
摘要:add remove 阅读全文
posted @ 2019-05-04 22:27 卖臭豆腐喽 阅读(311) 评论(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 卖臭豆腐喽 阅读(1604) 评论(0) 推荐(0)
摘要:List userList=new ArrayList(); userList.add(User.builder().age(10).name("zhang").amount(BigDecimal.valueOf(10)).build()); userList.add(User.builder().age(11).name("wang").amount(Bi... 阅读全文
posted @ 2019-04-21 01:18 卖臭豆腐喽 阅读(350) 评论(0) 推荐(0)
摘要:例子 1: // 例子2 list 转map 如果有错误 请大家留言指出 阅读全文
posted @ 2019-04-21 00:02 卖臭豆腐喽 阅读(1564) 评论(0) 推荐(0)