Java多线程-大结局

从九月二十号开始到今天十一月二十三号,整整两个月啊,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、聊聊你的项目经验,最大的成就感是什么?

推荐阅读更多精彩内容