#### newCachedThreadPool
> 可缓存线程池,最大线程数为Integer.MAX_VALUE,如果线程池长度超过处理需要,可灵活回收空闲线程,如果无可回收,则新建线程。
> 有超时限制,超过空闲时间会被回收
> **适合执行大量耗时较少的任务**
#### newFixedThreadPool
> 定长线程池,每当提交一个任务就创建一个工作线程,当线程处理空闲状态时,他们不会被关闭
> 如果线程达到了上限,提交的任务存入池队列中
> 由于池内线程不会收,能够快速响应外界的请求
> 阻塞队列采用了LinkedBlockingQueue,永远不可能拒绝任务
> **线程执行时间比较长,不允许被中断**
#### newScheduledThreadPool
> 核心线程固定,
> 如果在执行期间出现失败而终止了单个线程,新的线程将会代替它执行后续的任务
> **主要用于执行定时任务和具有固定周期的重复任务**
#### newSingleThreadExecutor
> 它只会创建一条工作线程处理任务
> 采用的阻塞队列为LinkedBlockingQueue
> **单个线程能够需要快速响应的情况**
#### newSingleThreadScheduleExecutor
> 一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行
> 如果在执行期间出现失败而终止了单个线程,新的线程将会代替它执行后续的任务
> **单个线程快速响应,并且支持定时执行**
- 虚拟机
- JVM内存结构
- JVM调优手段
- java对象生命周期
- 垃圾回收判断对象死亡
- 垃圾回收算法
- 垃圾收集器
- JAVA基础知识
- java事件机制
- java反射机制
- jvm创建对象
- java异常
- finally语句一定会执行吗?
- 集合类介绍
- ArrayList
- LinkedList
- HashMap
- ConcurrentHashMap
- 多线程
- 为什么要使用线程池
- 线程死锁
- 死锁检测和解除
- jstack
- jconsole
- 死锁预防
- 常见线程池
- 线程池参数
- 工作队列介绍
- 拒绝策略
- ThreadLocal
- CAS
- ReentrantLock
- AQS
- CountDownLatch
- Spring
- spring中bean的作用域
- REDIS
- redis数据结构
- redis hash实现
- redis rehash与hashmap扩容的区别
- Redis使用场景
- Redis为何这么快
- redis连接数不足导致错误
- 分布式
- 分布式事务
- ACID
- CAP
- BASE
- 事务隔离性
- 一致性哈希算法
- 负载均衡算法
- Hystrix 信号量和线程池隔离的差异
- Spring Cloud
- eureka
- MYSQL
- mysql优化经验
- undo redo binlog
- web
- http协议
- http和https区别
- Cookie和session
- TCP三次握手、4次挥手
- TCP的time_wait和close_wait
- 算法问题
- 编辑距离算法
- MQ
- RabbitMq
- Kafka
- 安装教程
- Win ELK安装