JUC 包大致分类

108 阅读1分钟

源码版本 java version "11.0.8" 2020-07-14 LTS

纵览并发包 java.util.concurrent,为了方便学习暂时将包下内容分为几部分

atomic 包: 存放与原子操作相关的17个类

将其根据第一印象分类:

分类类型类(接口)备注
数据AtomicBoolean AtomicInteger AtomicIntegerArray AtomicLong AtomicLongArray AtomicReference AtomicReferenceArray7 classes
工具AtomicIntegerFieldUpdater AtomicLongFieldUpdater AtomicReferenceFieldUpdater AtomicMarkableReference AtomicStampedReference DoubleAccumulator DoubleAdder LongAccumulator LongAdder Striped6410 classes

locks 包: 存放锁相关的10个接口和类(3个接口,7个类)

分类类型类(接口)备注
同步器AbstractOwnableSynchronizer AbstractQueuedLongSynchronizer AbstractQueuedSynchronizer (I)Condition1 interface 3 classes
(I)Lock LockSupport (I)ReadWriteLock ReentrantLock ReentrantReadWriteLock StampedLock2 interfaces 4 classes

其余61个接口和类(18个接口, 43个类)

将其按照第一印象分类:

分类类型类(接口)备注
异常 (6)BrokerBarrierException CancellationException CompletionException ExecutionException RejectedExecutionException TimeoutException6 classes
队列 (12)ArrayBlockingQueue (I)BlockingDeque (I)BlockingQueue ConcurrentLinkedDeque ConcurrentLinkedQueue DelayQueue LinkedBlockingDeque LinkedBlockingQueue LinkedTransferQueue PriorityBlockingQueue SynchronousQueue (I)TransferQueue3 interfaces 9 classes
集合 (7)ConcurrentHashMap (I)ConcurrentMap (I)ConcurrentNavigableMap ConcurrentSkipListMap ConcurrentSkipListSet CopyOnWriteArrayList CopyOnWriteArraySet2 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 ThreadPoolExecutor12 interfaces 15 classes
线程工具 (6)CountDownLatch CyclicBarrier Exchanger Phaser Semaphore ThreadLocalRandom6 classes
其它 (3)Helpers (I)RejectedExecutionHandler TimeUnit1 interfaces 2 classes

梳理出基础:队列、集合 重点难点:线程相关、线程工具