1. 线程和进程

2. 线程和进程的区别及优缺点

3. 程序计数器为什么是私有的

4. 虚拟机栈和本地方法栈为什么是私有的

5. 堆和方法区

6. 并发和并行的区别

7. 为什么要使用多线程

8. 线程安全和线程不安全

9. 线程的生命周期和状态

- **new**
- **runnable**
- **blocking**
- **waiting**
- **time_waiting**
- **terminated**

10. 线程上下文切换

11. 线程开始和结束

12. 如何避免死锁

**死锁的条件**

**破坏死锁**

12. sleep和wait方法

13. 为什么wait方法不定义在Thread中

14. 可以直接调用run方法吗

15. 内存模型

16. [[volatile和synchorizoned]]关键字

17. [[线程池]]
18. JUC 工具
19. 线程资源的可靠性