-
说说线程和进程? 关系,区别及优缺点?
-
说说并发与并行的区别?
-
为什么要使用多线程呢?
-
使用多线程可能带来什么问题?
-
创建线程有哪几种方式?
-
说说线程的生命周期和状态?状态之间转换?
-
什么是上下文切换?
-
什么是线程死锁? 如何避免死锁?
-
说说 sleep() 方法和 wait() 方法区别和共同点?
-
start()、run() 方法区别
-
Java 内存模型;
-
重排序
-
happens-before 原则了解吗?
-
volatile 关键字的作用;
-
说说 synchronized 关键字和 volatile 关键字的区别;
-
ThredLocal 解决了什么问题?怎么用?
-
ThredLocal 原理了解吗?
-
ThredLocal 内存泄露问题了解吗?
-
为什么要用线程池?
-
如何创建线程池? 几种常见的?
-
ThreadPoolExecutor
类的参数了解吗? -
ThreadPoolExecutor
饱和策略了解吗? -
线程池原理了解吗?
-
几种常见的线程池了解吗?为什么不推荐使用
FixedThreadPool
? -
如何设置线程池的大小?
-
可重入锁和非可重入锁
-
公平锁与非公平锁
-
读写锁和排它锁
-
对于 synchronized 关键字的了解;
-
怎么使用 synchronized 关键字;
-
synchronized 关键字的底层原理;
-
synchronized 和 ReentrantLock 的区别;
-
Atomic 与 CAS
-
JUC