Java|面试官:连多线程问题你都一问三不知,还要我怎么“放水”?( 二 )
- 等待阻塞(o.wait->等待队列)
- 同步阻塞(lock->锁池)
- 其他阻塞(sleep/join)
- 正常结束
- 异常结束
- 调用 stop
2. 使用退出标志退出线程
3. Interrupt 方法结束线程
4. stop 方法终止线程(线程不安全)
6. sleep 与 wait 区别
7. start 与 run 区别
8. JAVA 后台线程
9. JAVA 锁
1. 乐观锁
2. 悲观锁
3. 自旋锁
- 自旋锁的优缺点
- 自旋锁时间阈值(1.6 引入了适应性自旋锁)
- 自旋锁的开启
- Synchronized 作用范围
- Synchronized 核心组件
- Synchronized 实现
- Lock 接口的主要方法
- 非公平锁
- 公平锁
- ReentrantLock 与 synchronized
- ReentrantLock 实现
- Condition 类和 Object 类锁方法区别区别
- tryLock 和 lock 和 lockInterruptibly 的区别
- 实现互斥锁(计数器为 1)
- 代码实现
- Semaphore 与 ReentrantLock
8. 可重入锁(递归锁)
9. 公平锁与非公平锁
- 公平锁(Fair)
- 非公平锁(Nonfair)
- 读锁
- 写锁
- 独占锁
- 共享锁
13. 轻量级锁
- 锁升级
15. 分段锁
16. 锁优化
- 减少锁持有时间
- 减小锁粒度
- 锁分离
- 锁粗化
- 锁消除
1. 线程等待(wait)
2. 线程睡眠(sleep)
3. 线程让步(yield)
4. 线程中断(interrupt)
5. Join 等待其他线程终止
6. 为什么要用 join()方法?
7. 线程唤醒(notify)
8. 其他方法
11. 线程上下文切换
1. 进程
2. 上下文
3. 寄存器
4. 程序计数器
5. PCB-“切换桢”
6. 上下文切换的活动
7. 引起线程上下文切换的原因
12. 同步锁与死锁
1. 同步锁
2. 死锁
13. 线程池原理
1. 线程复用
2. 线程池的组成
3. 拒绝策略
4. Java 线程池工作过程
14. JAVA 阻塞队列原理
1. 阻塞队列的主要方法
- 【Java|面试官:连多线程问题你都一问三不知,还要我怎么“放水”?】插入操作
- 获取数据操作
3. ArrayBlockingQueue(公平、非公平)
4. LinkedBlockingQueue(两个独立锁提高并发)
5. PriorityBlockingQueue(compareTo 排序实现优先)
6. DelayQueue(缓存失效、定时任务)
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 小忠侃教育|笔试面试都过却被拒签,还没地儿说理去,“非全研究生”有多惨
- 小熊回收站|-链表阻塞队列和数组阻塞队列的异同,Java并发编程
- Java|马化腾登顶中国首富,微信、QQ却都免费使用,腾讯到底咋赚钱的?
- Java|为什么美团骑手总是闯红灯昵
- 阿里巴巴|java三大集合遍历方法
- 编程|JAVA基础-网络编程
- Java|Java中的天使和魔鬼:Unsafe类
- Java|Java--死锁详解
- Java|锁--JAVA成长之路