从九月二十号开始到今天十一月二十三号,整整两个月啊,Java多线程这本书终于完整看完了,现在开始整理Java多线程全部内容、也算是一次回顾与总结。
走进Java世界中的线程
这节主要了解到Java线程运行的各种状态:new、runnable、terminated、blocked、waiting、timed_waiting 及各状态间关系
多线程的目标与挑战
重点介绍线程安全问题表现的三个方面:原子性、可见性、有序性
Java线程同步机制
线程同步机制的具体方案介绍:内部锁、显式锁、及volatile等关键字
玩转线程基于数据或基于任务的分割实现并发化及合理设置线程数
线程间协作关键字:Condition、CountDownLatch、CyclicBarrier、BlockQueue、Semaphore、PipedOutputStream、Exchanger、Double Buffering
保障线程安全的设计技术
1、Java运行时存储空间
2、无状态对象、不可变对象、ThreadLocal
3、装饰器模式及并发集合ConcurrentHashMap
线程的活性故障
介绍了死锁、锁死、线程饥饿、活锁
线程管理
1、线程组、线程未捕获异常及监控、线程恢复与暂挂
2、线程池ThreadPoolExecutor
Java异步编程
Executor、ExecutorService、Executors、FutureTask、AsyncTask、ScheduleFuture
多线程的硬件基础与Java内存模型
高速缓存、缓存一致性协议、写缓冲器、无效化队列、基本内存屏障、volatile、synchronized、final
Java多线程程序的性能调较
内部锁的优化、优化锁的使用、减少上下文切换、伪共享
最后粘贴几个小米的面试题给大家思考?:
1、Java中的集合类有哪些了解呢?
2、项目中用到过哪些缓存?
3、ArrayList和LinkeList的区别?
4、linux了解怎么样。各个用户之间权限了解吗 ?
5、手写代码:求两个链表相交。
6、新建线程的方式,有什么区别
7、Thread的run方法和stat方法的区别是什么?
8、怎么关闭线程
9、TCP为什么三次握手和四次挥手?
10、TCP和UDP区别?
11、聊聊你的项目经验,最大的成就感是什么?