01-Java 并发
2022-03-22 13:52:35 5 举报
AI智能生成
登录查看完整内容
以思维导图的形式,汇总 【Java 并发】相关的面试点
作者其他创作
大纲/内容
为什么要用线程池?
分支主题
示意图
Executor和Executors的区别?
常用的JAVA线程池有哪几种类型?
Executors 提供了哪些创建线程池的方法?
流程
Executor
线程的5种状态
核心线程数
使用队列的注意点
阻塞队列
最大线程数
拒绝策略
keepAliveTime(保持存活时间
线程池核心参数
execute()vs submit()
shutdown() vs shutdownNow()
isTerminated() vs isShutdown()
API
线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式
超链接
如何合理配置线程池参数?
实战
为啥要用一个int值表示两个组合状态
ctl
为什么要有核心线程池
处理任务流程
源码
核心线程怎么实现一直存活?
源码中线程池是怎么复用线程的?
非核心线程能成为核心线程吗?
非核心线程如何实现在 keepAliveTime 后死亡?
一个线程异常了会怎么样?
一些问题
线程池
Fork/Join框架
三种submit()
Future
FutureTask 工具类
获得任务执行结果
为什么要有?
是什么?
Semaphore 信号量
原理
应用
不足
CountDownLatch
怎么用?
CyclicBarrier
基于AQS的同步组件
并发工具
保证线程安全的方式
策略模式+工厂模式
ConcurrentHashMap
线程安全的类有哪些,平时有使用么,用来解决什么问题
线程安全
什么是进程
一个进程最多能有几个线程
什么是线程
进程与线程区别 JVM角度
1.线程和进程有什么区别?
3.为什么要使用多线程呢?
什么是线程上下文切换
是什么
守护线程
劣势
优势
在用户空间实现线程
优劣势
在内核空间实现
混合实现
线程实现
内核线程的一些系统调用函数
和操作系统的关系
概念
线程阻塞的三种情况
线程死亡的三种方式
状态流转
线程的状态流转?
死锁必须具备以下四个条件?
避免
预防
如何预防避免线程死锁?
如何检测死锁/发现死锁
线程死锁?
Runnable VS Callable
Callable是怎么拿到返回结果的
创建线程的三种方式的对比?
如何创建线程实例并运行?
sleep()方法和wait()方法区别和共同点?
yield()
8.为什么我们调用start(0方法时会执行run()方法,为什么我们不能直接调用run()方法
29.ThreadLocal是什么?
31.知道ThreadLocal内存泄露问题吗?
30.ThreadLocall的实现原理
如果不remove,出问题了怎么补救?
ThreadLocal
线程基础
使用场景
构造方法可以使用 synchronized 关键字修饰么?
作用用法
底层monitor对象的原理
底层实现原理?
synchronized和ReentrantLock区别是什么?
synchronized 和 Lock 有什么区别?
synchronized和volatile的区别是什么?
比较
为什么锁升级
自旋锁与自适应自旋锁
锁粗化
锁消除
锁膨胀
编译器优化
偏向锁原理和升级过程
偏向锁
过程
轻量级锁原理和升级过程
轻量级锁
自旋锁与重量级锁
锁升级优化
锁优化
synchronized为什么是非公平锁?非公平体现在哪些地方?
synchronized锁能降级吗?
synchronized
原子性
并发编程的三特性
指令重排
JMM内存模型
CPU缓存结构
可见性
实现原理
volatile
3.简单介绍一下Atomiclnteger类的原理?
2.JUC包中的原子类是哪4类?
原子类
处理器如何实现原子操作
CAS是什么?
CAS有什么缺陷?
无锁只有cas一种实现吗 ,有其他实现方式吗
CAS
Happens-Before
概述
JMM
21.synchronized和ReentrantLock区别是什么?
公平锁 和 非公平锁
可重入性
ReentrantLock
1.说一说什么是AQS?
了解AQS对资源的共享方式吗?
AQS使用了哪些设计模式?
AQS
ReentrantReadWriteLock
锁分离优化 Lock 同步锁
ReadWriteLock是什么?
自旋锁
乐观锁和悲观锁
锁
并发New
0 条评论
回复 删除
下一页