Loading

摘要: ConcurrentHashMap 在涉及到Java多线程开发时,如果我们使用HashMap可能会导致死锁问题,使用HashTable效率低 而ConcurrentHashMap既可以保持同步也可以提高并发效率,所以这个时候ConcurrentHashmap是我们最好的选择 Map Map是数组+链 阅读全文
posted @ 2021-02-23 23:41 BigBender 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 基本不变式 在执行方法之前和之后,队列必须要保持的不变式: 当入队插入新节点之后,队列中有一个 next 域为 null 的(最后)节点 从 head 开始遍历队列,可以访问所有 item 域不为 null 的节点 head 的不变式和可变式 在执行方法之前和之后,head 必须保持的不变式: 所有 阅读全文
posted @ 2021-02-23 22:51 BigBender 阅读(45) 评论(0) 推荐(0) 编辑
摘要: LockSupport LockSupport.park() 可以用来阻塞当前线程,park是停车的意思,把运行的线程比作行驶的车辆,线程阻塞则相当于汽车停车 该方法还有个变体LockSupport.park(Object blocker),指定线程阻塞的对象blocker,该对象主要用来排查问题 阅读全文
posted @ 2021-02-23 16:36 BigBender 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 效率 线程数特别多的时候 Longadder > Atomic > synchroinzed Longadder内部使用了分段锁 Longadder是LongAccumulator的一种特殊形式 ReentrantLock,synchronized对比 cas vs sync trylock loc 阅读全文
posted @ 2021-02-23 00:07 BigBender 阅读(60) 评论(0) 推荐(0) 编辑