文章
94
标签
89
分类
16
首页
归档
标签
分类
关于
虾壳
搜索
首页
归档
标签
分类
关于
面试题-并发编程
发表于
2024-01-21
|
更新于
2024-01-21
|
Java
面试题
|
字数总计:
5
|
阅读时长:
1分钟
|
阅读量:
没有权限
文章作者:
虾壳
文章链接:
http://yagote.github.io/2024/01/21/mian-shi-ti-bing-fa-bian-cheng/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自
虾壳
!
Java
面试题
并发编程
上一篇
面试题-微服务
下一篇
面试题-设计模式
相关推荐
2024-01-21
面试题-MySQL
2024-01-21
面试题-Redis
2024-02-19
面试题-JVM
目录
1、线程的基础知识
1.1 线程和进程的区别?
1.2 并行和并发有什么区别?
1.3 创建线程的四种方式
1.4 runnable 和 callable 有什么区别
1.5 线程的 run()和 start()有什么区别?
1.6 线程包括哪些状态,状态之间是如何变化的
1.7 新建 T1、T2、T3 三个线程,如何保证它们按顺序执行?
1.8 notify()和 notifyAll()有什么区别?
1.9 在 java 中 wait 和 sleep 方法的不同?
1.10 如何停止一个正在运行的线程?
2、线程中的并发锁
2.1 讲一下synchronized关键字的底层原理?
2.1.1 基本使用
2.1.2 Monitor
2.2 synchronized关键字的底层原理进阶
2.2.1 对象的内存结构
2.2.2 MarkWord对象头
2.2.3 再说Monitor重量级锁
2.2.4 轻量级锁
2.2.5 偏向锁
2.2.6 参考回答
2.3 你谈谈 JMM(Java 内存模型)
2.4 CAS 你知道吗?
2.4.1 概述及基本工作流程
2.4.2 CAS 底层实现
2.4.3 乐观锁和悲观锁
2.5 请谈谈你对 volatile 的理解
2.5.1 保证线程间的可见性
2.5.2 禁止进行指令重排序
2.6 什么是AQS?
2.6.1 概述
2.6.2 工作机制
2.7 ReentrantLock的实现原理
2.7.1 概述
2.7.2 实现原理
2.8 synchronized和Lock有什么区别 ?
2.9 死锁产生的条件是什么?
2.10 如何进行死锁诊断?
2.11 ConcurrentHashMap
2.11.1 JDK1.7中concurrentHashMap
2.11.2 JDK1.8中concurrentHashMap
2.12 导致并发程序出现问题的根本原因是什么
2.12.1 原子性
2.12.2 内存可见性
2.12.3 有序性
3、线程池
3.1 说一下线程池的核心参数(线程池的执行原理知道吗)
3.2 线程池中有哪些常见的阻塞队列
3.3 如何确定核心线程数
3.4 线程池的种类有哪些
3.5 为什么不建议用Executors创建线程池
4、线程使用场景问题
4.1 线程池使用场景CountDownLatch、Future(你们项目哪里用到了多线程)
4.1.1 CountDownLatch
4.1.2 案例一(es数据批量导入)
4.1.3 案例二(数据汇总)
4.1.4 案例三(异步调用)
4.2 如何控制某个方法允许并发访问线程的数量?
5、ThreadLocal
5.1 概述
5.2 ThreadLocal基本使用
5.3 ThreadLocal的实现原理
5.4 ThreadLocal内存泄露问题
6、真实面试还原
6.1 线程的基础知识
聊一下并行和并发有什么区别?
说一下线程和进程的区别?
如果在java中创建线程有哪些方式?
刚才你说的runnable 和 callable 两个接口创建线程有什么不同呢?
线程包括哪些状态,状态之间是如何变化的?
刚才你说的线程中的 wait 和 sleep方法有什么不同呢?
我现在举一个场景,你来分析一下怎么做,新建 T1、T2、T3 三个线程,如何保证它们按顺序执行?
在我们使用线程的过程中,有两个方法。线程的 run()和 start()有什么区别?
那如何停止一个正在运行的线程呢?
6.2 线程中并发锁
讲一下synchronized关键字的底层原理?
你能具体说下Monitor 吗?
那关于synchronized 的锁升级的情况了解吗?
刚才你说了synchronized它在高并发量的情况下,性能不高,在项目该如何控制使用锁呢?
那你说下ReentrantLock的使用方式和底层原理?
刚才你说了CAS和AQS,你能介绍一下吗?
synchronized和Lock有什么区别 ?
死锁产生的条件是什么?
那如果产出了这样的,如何进行死锁诊断?
请谈谈你对 volatile 的理解
那你能聊一下ConcurrentHashMap的原理吗?
6.3 线程池
线程池的种类有哪些?
线程池的核心参数有哪些?
如何确定核心线程池呢?
线程池的执行原理知道吗?
为什么不建议使用Executors创建线程池呢?
6.4 线程使用场景问题
如果控制某一个方法允许并发访问线程的数量?
那该如何保证Java程序在多线程的情况下执行安全呢?
你在项目中哪里用了多线程?
6.5 ThreadLocal
谈谈你对ThreadLocal的理解
那你知道ThreadLocal的底层原理实现吗?
那关于ThreadLocal会导致内存溢出这个事情,了解吗?
搜索
数据库加载中