基本概念 什么是并发编程? 为什么要用并发编程? 并发编程的缺点? 并行是什么意思?与并发的区别是什么? 什么是线程?什么是进程?为什么要有线程?有什么关系与区别? 如何创建、启动 Java 线程? 如何优雅地停止一个线程? 什么是守护线程? 线程包括哪些状态?状态之间是如何变化的? 什么是线程池? Executors如何创建线程池? 线程池包含哪些状态? 如何停止一个线程池? 导致并发程序出问题的根本原因是什么? Java 隐式锁 - synchronized 关键字 Java 中的 volatile 关键字 Java 中的锁 Java 中的锁如何使用?有什么注意事项? Java 中可重入锁、不可重入锁的测试 Java 中锁之间的对比 synchronized 锁的升级原理是什么? 如何避免死锁? 什么是活锁和饥饿?及示例 Java中的线程等待和唤醒 Java 中有哪些无锁技术来解决并发问题?如何使用? 【Java面试题与答案】整理推荐 基础与语法集合网络编程并发编程Web安全设计模式框架算法与数据结构异常文件解析与生成LinuxMySQLOracleRedisDubbo