一、队列
1、BlockingQueue接口 父接口是Queue,有如下两个实现类,记住四组操作方法
- ArrayBlockingQueue
- LinkedBlockingQueue
二、池化技术(回忆银行案例)
1、Executors三大方法
- Executors.newSingleThreadScheduledExecutor();//单例,只有一个线程
- Executors.newFixedThreadPool(5); //固定线程数
- Executors.newCachedThreadPool();//缓存式,根据需要来增加线程数
2、ThreadPollExecutor七大参数
- new ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueueworkQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler
)
3、第七个参数的四种拒绝策略
- ThreadPoolExecutor.AbortPolicy
- ThreadPoolExecutor.CallerRunsPolicy
- ThreadPoolExecutor.DiscardPolicy
- ThreadPoolExecutor.DiscardOldestPolicy
4、maximumPoolSize如何设置(调优)
- IO密集型
- CPU密集型(Runtime.getRuntime().availableProcessors()获取计算机逻辑处理器个数)
三、四大函数式接口(简化编程模型)
- 函数型接口
- 断定型接口
- 消费型接口
- 供给型接口