java并发面试题

目录

一.线程基础

1.线程和进程的区别

2.并行和并发的区别

3.创建线程的方式

4.线程包括哪些状态,状态之间如何变化

5.如何保证线程间按顺序执行

6.notify()和notifyAll()的区别

7.java中wait和sleep方法的区别

8.如何停止正在运行的线程

二.线程安全

1.synchronized关键字的底层原理

2.锁升级

3.JMM(java内存模型)

4.CAS

5.volatile

6.AQS

7.ReentrantLock实现原理

8.synchronized和Lock区别

9.死锁产生的条件

10.ConcurrentHashMap

11.导致并发程序出现问题的根本原因

三.线程池

1.线程池核心参数

2.线程池执行原理

3.线程池中常见的阻塞队列

4.如何确定线程核心数量

5.线程池的种类

6.为什么不建议使用Executors创建线程池

四.多线程使用场景

1.项目中哪里用了多线程

2.如何控制某个方法允许并发访问线程的数量

五.ThreadLocal


一.线程基础

1.线程和进程的区别

2.并行和并发的区别

3.创建线程的方式

4.线程包括哪些状态,状态之间如何变化

5.如何保证线程间按顺序执行

6.notify()和notifyAll()的区别

7.java中wait和sleep方法的区别

8.如何停止正在运行的线程


二.线程安全

1.synchronized关键字的底层原理

2.锁升级

3.JMM(java内存模型)

4.CAS

5.volatile

6.AQS

7.ReentrantLock实现原理

8.synchronized和Lock区别

9.死锁产生的条件

10.ConcurrentHashMap

11.导致并发程序出现问题的根本原因


三.线程池

1.线程池核心参数

2.线程池执行原理

3.线程池中常见的阻塞队列

4.如何确定线程核心数量

5.线程池的种类

6.为什么不建议使用Executors创建线程池


四.多线程使用场景

1.项目中哪里用了多线程

2.如何控制某个方法允许并发访问线程的数量

五.ThreadLocal

相关推荐
码云数智-园园11 分钟前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
hpoenixf12 分钟前
2026 年前端面试问什么
前端·面试
C++ 老炮儿的技术栈28 分钟前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl29 分钟前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
大阿明38 分钟前
Spring Boot(快速上手)
java·spring boot·后端
Liu6288842 分钟前
C++中的工厂模式高级应用
开发语言·c++·算法
bearpping1 小时前
Java进阶,时间与日期,包装类,正则表达式
java
IT猿手1 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
邵奈一1 小时前
清明纪念·时光信笺——项目运行指南
java·实战·项目
AI科技星1 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘