Emma眼中的JAVA世界(一)之J.U.C包里的成员有什么?
2017-03-13 19:09
274 查看
一直想认认真真地总结一下Java基础,可惜自己一直以没有时间为借口的拖着,终于在这样一个普通的周末开始了这样的远行。该板块都是基于JDK8的源码解析,是我自己多方看书和理解的总结,不当之处还请见谅。
今天想说的是Java.util.concurrent包下面的类和接口,详细介绍。首先看看这个包下面有什么:
我如果没有数错的话,应该是58个类或者接口,如何学习成为我们的难点,我想应该先知道他们之间的关系,然后学习应该才是比较轻松的,我的目的在于知道这里面有什么,每一个怎么用,以后遇到类似情况就知道来这里找了,再看源码就知道怎么用了。
所以先介绍他们之间的关系,再逐个介绍每一个是干什么的。
主要的分成:
Executors:
ExecutorService
ForkJoinPool
ForkJoinTask:abstract class
ForkJoinWorkerThread
ScheduledExecutorService:interface
ScheduledFuture:interface
ThreadPoolExecutor
Callable interface
RunnableFuture:interface
RunnableScheduledFuture:interface
ThreadFactory:interface
CompletableFuture
Future
FutureTask
ArrayBlockingQueue;
BlockingQueue:interface
DelayQueue:
LinkedBlockingDeque
LinkedBlockingQueue
LinkedTransferQueue
PriorityBlockingQueue
SynchronousQueue
ScheduledThreadPoolExecutor
TransferQueue:interface
CancellationException
CompletionException
ExecutionException
RejectedExecutionException
TimeoutException
CompletionStage:interface
CountedCompleter:abstract class
Delayed:interface
ExecutorCompletionService
RecursiveAction:abstract class
RecursiveTask:abstract class
RejectedExecutionHandler:interface
ConcurrentLinkedDeque
ConcurrentLinkedQueue
ConcurrentMap:interface
ConcurrentNavigableMap:interface
ConcurrentSkipListMap:
ConcurrentSkipListSet
CopyOnWriteArrayList
CopyOnWriteArraySet:
CountDownLatch
Exchanger
Phaser
Semaphore
TimeUnit
今天想说的是Java.util.concurrent包下面的类和接口,详细介绍。首先看看这个包下面有什么:
我如果没有数错的话,应该是58个类或者接口,如何学习成为我们的难点,我想应该先知道他们之间的关系,然后学习应该才是比较轻松的,我的目的在于知道这里面有什么,每一个怎么用,以后遇到类似情况就知道来这里找了,再看源码就知道怎么用了。
所以先介绍他们之间的关系,再逐个介绍每一个是干什么的。
主要的分成:
实现线程池的一些主要类:
Executor:Executors:
ExecutorService
ForkJoinPool
ForkJoinTask:abstract class
ForkJoinWorkerThread
ScheduledExecutorService:interface
ScheduledFuture:interface
ThreadPoolExecutor
Callable interface
RunnableFuture:interface
RunnableScheduledFuture:interface
ThreadFactory:interface
CompletableFuture
Future
FutureTask
BlockingQueue:阻塞队列的一些实现类:
AbstractBlockingQueue :abstract classArrayBlockingQueue;
BlockingQueue:interface
DelayQueue:
LinkedBlockingDeque
LinkedBlockingQueue
LinkedTransferQueue
PriorityBlockingQueue
SynchronousQueue
ScheduledThreadPoolExecutor
TransferQueue:interface
抛出异常:
BrokenBarrierExceptionCancellationException
CompletionException
ExecutionException
RejectedExecutionException
TimeoutException
和线程相关:
返回值:
不知道:
CompletionService : interfaceCompletionStage:interface
CountedCompleter:abstract class
Delayed:interface
ExecutorCompletionService
RecursiveAction:abstract class
RecursiveTask:abstract class
RejectedExecutionHandler:interface
线程安全的集合类:
ConcurrentHashMapConcurrentLinkedDeque
ConcurrentLinkedQueue
ConcurrentMap:interface
ConcurrentNavigableMap:interface
ConcurrentSkipListMap:
ConcurrentSkipListSet
Copy-On-Write容器:
COW,是一种用于程序设计中的优化策略,其基本思路是:从一开始大家共享同一个内容,CopyOnWriteArrayList
CopyOnWriteArraySet:
TimeUnit相关:
CyclicBarrierCountDownLatch
Exchanger
Phaser
Semaphore
TimeUnit
ThreadLocal实现类:
ThreadLocalRandom相关文章推荐
- Java/.net/PHP比较 程序员眼中的.Net世界
- Java/.net/PHP比较 程序员眼中的.Net世界
- Java/.net/PHP比较 程序员眼中的.Net世界
- 第2章 Java编程基础——FAQ2.13 成员变量和局部变量有什么区别?
- Java常考面试题11 内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- java 成员变量与局部变量有什么区别
- 算法眼中的世界是什么样子?他们用一些彩色方块画了出来
- Java/.net/PHP比较 程序员眼中的.Net世界
- 什么是java的局部变量,成员变量,全局变量?
- 牛客网Java刷题知识点之什么是内部类、为什么要使用内部类、内部类如何使用外部类的属性和方法、成员内部类、局部内部类、静态内部类、匿名内部类
- Java.netPHP比较 程序员眼中的.Net世界
- Java - 内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- Java/.net/PHP比较 程序员眼中的.Net世界
- Java3D探奇(一)——Java 3D眼中的世界
- java语言-基础(成员变量是什么)
- 【Java面试题】12 内部类可以引用它的包含类的成员吗?有没有什么限制?
- 眼中混沌的世界
- 出学JAVA看什么书比较好一点
- java之旅(3)什么是java?
- 2004开发技术年度综述之Java世界