什么是JUC JUC是java中java.util.concurrent工具类的缩写 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 线程:一个进程中至少有一个线程。线程可以利用进 ...
分类:
其他好文 时间:
2020-06-26 18:31:40
阅读次数:
106
线程池 自定义线程池 import java.util.ArrayDeque; import java.util.Deque; import java.util.HashSet; import java.util.concurrent.TimeUnit; import java.util.concu ...
分类:
编程语言 时间:
2020-06-26 18:00:48
阅读次数:
60
import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.concurr ...
分类:
编程语言 时间:
2020-06-24 00:45:51
阅读次数:
75
已剪辑自: https://www.jianshu.com/p/ec47f71c3993 今天我们来研究学习一下AbstractQueuedSynchronizer类的相关原理,java.util.concurrent包中很多类都依赖于这个类所提供队列式同步器,比如说常用的ReentranLock, ...
分类:
其他好文 时间:
2020-06-23 21:24:56
阅读次数:
65
1 CMS收集器 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。这是因为CMS收集器工作时,GC工作线程与用户线程可以并发执行,以此来达到降低收集停顿时间的目的。 CMS收集器仅作用于老年代的收集,是基于标记-清除算法的,它的运作过程分为4个步 ...
分类:
其他好文 时间:
2020-06-20 11:10:51
阅读次数:
47
Full gc是对新生代,旧生代,以及持久代的统一回收,由于是对整个空间的回收,因此比较慢,系统中应当尽量减少full gc的次数。 如下几种情况下会发生full gc: 旧生代空间不足 持久代空间不足 CMS GC时出现了promotion failed和concurrent mode failu ...
分类:
其他好文 时间:
2020-06-19 16:06:51
阅读次数:
52
AtomicIntegerFieldUpdater测试类 package com.dwz.atomicApi; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; public class AtomicIntegerFieldU ...
分类:
其他好文 时间:
2020-06-18 16:17:34
阅读次数:
60
使用AtomicStampedReference解决CAS机制中ABA问题 package concurrency; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicStampedRefer ...
分类:
其他好文 时间:
2020-06-18 11:14:07
阅读次数:
72
JUC简介 利用多线程提高效率,尽可能的利用cpu资源。java5以前多线程同步用了sychronized、volatile。在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池 ...
分类:
其他好文 时间:
2020-06-18 01:35:21
阅读次数:
62
1、Automic Java中 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 所谓原子类说简单点就是具有原子/原子操作特征的类。Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多 ...
分类:
其他好文 时间:
2020-06-18 01:19:42
阅读次数:
58