![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程高并发
hudongdongjava
这个作者很懒,什么都没留下…
展开
-
线程池--ThreadPoolExecutor
简单示例 @Test public void test1() { ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<>(2); ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2, 4, 10, TimeUnit.MINUTES, queue, new CallerRunsPolicy()); for (int i = .原创 2020-10-15 16:50:01 · 88 阅读 · 0 评论 -
synchronized锁升级过程
synchronized的介绍 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性,synchronized用的锁存在Java对象头里,Java对象头里的Mark Word默认存储对象的HashCode、分代年龄和锁标记位。在运行期间,Mark Word里存储的数据会随着锁标志位的变化而变化。64位JVM的Mark Word可能变化存储为以下5种数据:锁的状态 优先级从低到高,无锁状态–>偏向锁状态–>轻原创 2020-10-15 16:28:02 · 177 阅读 · 1 评论