![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 并发
文章平均质量分 91
java 并发
changjh1
这个作者很懒,什么都没留下…
展开
-
LongAdder源码分析
LongAdd转载 2022-11-27 11:24:11 · 173 阅读 · 0 评论 -
ConcurrentHashMap扩容机制源码分析
首先思考几个问题: ConcurrentHashMap是如何实现扩容机制的? 多线程辅助扩容?如何分配扩容迁移任务? 源码分析:public V put(K key, V value) { return putVal(key, value, false);}final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) throw new Null原创 2021-11-26 23:11:42 · 1815 阅读 · 0 评论 -
Java线程池
Java线程池详解构造一个线程池为什么需要几个参数?如果避免线程池出现OOM?Runnable和Callable的区别是什么?本文将对这些问题一一解答,同时还将给出使用线程池的常见场景和代码片段。基础知识Executors创建线程池Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int nThreads),但是便捷不仅隐藏了复杂性,也为我们埋下了潜在的隐患(OOM,线程耗尽)。Executors创转载 2020-05-24 15:36:13 · 134 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码
坐下笔记而已public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable {public abstract class AbstractOwnableSynchronizer implements java.io.Serializable { private static final long ...原创 2020-05-24 15:05:32 · 145 阅读 · 0 评论