JUC 包大致分类
源码版本 java version "11.0.8" 2020-07-14 LTS
纵览并发包 java.util.concurrent,为了方便学习暂时将包下内容分为几部分
atomic 包: 存放与原子操作相关的17个类
将其根据第一印象分类:
分类类型 | 类(接口) | 备注 |
---|---|---|
数据 | AtomicBoolean AtomicInteger AtomicIntegerArray AtomicLong AtomicLongArray AtomicReference AtomicReferenceArray |
7 classes |
工具 | AtomicIntegerFieldUpdater AtomicLongFieldUpdater AtomicReferenceFieldUpdater AtomicMarkableReference AtomicStampedReference DoubleAccumulator DoubleAdder LongAccumulator LongAdder Striped64 |
10 classes |
locks 包: 存放锁相关的10个接口和类(3个接口,7个类)
分类类型 | 类(接口) | 备注 |
---|---|---|
同步器 | AbstractOwnableSynchronizer AbstractQueuedLongSynchronizer AbstractQueuedSynchronizer (I)Condition |
1 interface 3 classes |
锁 | (I)Lock LockSupport (I)ReadWriteLock ReentrantLock ReentrantReadWriteLock StampedLock |
2 interfaces 4 classes |
其余61个接口和类(18个接口, 43个类)
将其按照第一印象分类:
分类类型 | 类(接口) | 备注 |
---|---|---|
异常 (6) | BrokerBarrierException CancellationException CompletionException ExecutionException RejectedExecutionException TimeoutException |
6 classes |
队列 (12) | ArrayBlockingQueue (I)BlockingDeque (I)BlockingQueue ConcurrentLinkedDeque ConcurrentLinkedQueue DelayQueue LinkedBlockingDeque LinkedBlockingQueue LinkedTransferQueue PriorityBlockingQueue SynchronousQueue (I)TransferQueue |
3 interfaces 9 classes |
集合 (7) | ConcurrentHashMap (I)ConcurrentMap (I)ConcurrentNavigableMap ConcurrentSkipListMap ConcurrentSkipListSet CopyOnWriteArrayList CopyOnWriteArraySet |
2 interfaces 5 classes |
线程相关 (27) | AbstractExecutorService (I)Callable CompletableFuture (I)CompletionService (I)CompletionStage CountedCompleter (I)Delayed (I)Executor ExecutorCompletionService Executors (I)ExecutorService Flow ForkJoinPool ForkJoinTask ForkJoinWorkerThread (I)Future FutureTask RecursiveAction RecursiveTask (I)RunnableFuture (I)RunnableScheduledFuture (I)ScheduledExecutorService (I)ScheduledFuture ScheduledThreadPoolExecutor SubmissionPublisher (I)ThreadFactory ThreadPoolExecutor |
12 interfaces 15 classes |
线程工具 (6) | CountDownLatch CyclicBarrier Exchanger Phaser Semaphore ThreadLocalRandom |
6 classes |
其它 (3) | Helpers (I)RejectedExecutionHandler TimeUnit |
1 interfaces 2 classes |
梳理出基础:队列、集合
重点难点:线程相关、线程工具
评论
其他文章