Java中高级面试必问之多线程TOP50(含答案)
以下为大家整理了今年一线大厂面试被问频率较高的多线程面试题,由于本人的见识局限性,所以可能不是很全面,也欢迎大家在后面留言补充,谢谢。
1、什么是线程?
2、什么是线程安全和线程不安全?
3、什么是自旋锁?
4、什么是Java内存模型?
5、什么是CAS?
6、什么是乐观锁和悲观锁?
7、什么是AQS?
8、什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
9、什么是Executors框架?
10、什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
11、什么是Callable和Future?
12、什么是FutureTask?
13、什么是同步容器和并发容器的实现?
14、什么是多线程?优缺点?
15、什么是多线程的上下文切换?
16、ThreadLocal的设计理念与作用?
17、ThreadPool(线程池)用法与优势?
18、Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
19、synchronized和ReentrantLock的区别?
20、Semaphore有什么作用?
21、Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
22、Hashtable的size()方法中明明只有一条语句”return count”,为什么还要做同步?
23、ConcurrentHashMap的并发度是什么?
24、ReentrantReadWriteLock读写锁的使用?
25、CyclicBarrier和CountDownLatch的用法及区别?
26、LockSupport工具?
27、Condition接口及其实现原理?
28、Fork/Join框架的理解?
29、wait()和sleep()的区别?
30、线程的五个状态(五种状态,创建、就绪、运行、阻塞和死亡)?
31、start()方法和run()方法的区别?
32、Runnable接口和Callable接口的区别?
33、volatile关键字的作用?
34、Java中如何获取到线程dump文件?
35、线程和进程有什么区别?
36、线程实现的方式有几种(四种)?
37、高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?
38、如果你提交任务时,线程池队列已满,这时会发生什么?
39、锁的等级:方法锁、对象锁、类锁?
40、如果同步块内的线程抛出异常会发生什么?
41、并发编程(concurrency)并行编程(parallellism)有什么区别?
42、如何保证多线程下 i++ 结果正确?
43、一个线程如果出现了运行时异常会怎么样?
44、如何在两个线程之间共享数据?
45、生产者消费者模型的作用是什么?
46、怎么唤醒一个阻塞的线程?
47、Java中用到的线程调度算法是什么
48、单例模式的线程安全性?
49、线程类的构造方法、静态块是被哪个线程调用的?
50、同步方法和同步块,哪个是更好的选择?
关注右侧微信公众号回复 "多线程" 获取全部面试题整理及参考答案。
Java中高级面试必问之多线程TOP50(含答案)的更多相关文章
- java面试必问:多线程的实现和同步机制,一文帮你搞定多线程编程
前言 进程:一个计算机程序的运行实例,包含了需要执行的指令:有自己的独立地址空间,包含程序内容和数据:不同进程的地址空间是互相隔离的:进程拥有各种资源和状态信息,包括打开的文件.子进程和信号处理. 线 ...
- Java面试必问之Hashmap底层实现原理(JDK1.7)
1. 前言 Hashmap可以说是Java面试必问的,一般的面试题会问: Hashmap有哪些特性? Hashmap底层实现原理(get\put\resize) Hashmap怎么解决hash冲突? ...
- 一线大厂Java面试必问的2大类Tomcat调优
一.前言 最近整理了 Tomcat 调优这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调优都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍 ...
- linux驱动工程面试必问知识点
linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...
- 互联网公司面试必问的mysql题目(上)
又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...
- 面试必问:JVM类加载机制详细解析
前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点. 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是cla ...
- 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)
现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...
- 互联网公司面试必问的Redis题目
Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...
- 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别
[面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...
随机推荐
- H3C 网管交换机快速配置指南(转)
H3C交换机,5XXX,3XXX,还有部分2XXX系列都带有网管功能,可以帮助网络维护非常好的控制网络.基本的配置顺序: Console接口连接,开启Telnet登陆功能,Telnet后进行具体设置. ...
- Util.FSUtils: Waiting for dfs to exit safe mode
有好几次,启动Hadoop和HBase之后,执行jps命令,已经看到有HMaster的进程, 但是进入到HBase的shell,执行一个命令,会出现下面的错误: ERROR: org.apache.h ...
- numpy中np.c_和np.r_
np.r_:按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat() np.c_:按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的mer ...
- JAVA编程思想学习笔记7-chap19-21-斗之气7段
1.枚举 2.内置三种注解 @Override @Deprecated @SuppressWarnings 3.元注解:用于注解其它注解 4.注解处理器:通过反射 5.创建线程的两种方式 实现Runn ...
- python No tests were found问题解决方法
由于刚刚开始用python去写测试接口框架,在写的过程中遇到No tests were found问题 原因:python中unittest框架是以Test开头的方法,所以定义方法或类不能以Test开 ...
- install apache-activemq
进入bin/linux-x86-64下 cd apache-activemq-5.14.1/bin/linux-x86-64/ 启动 ./activemq start 五.启动成功后,访问 activ ...
- db2修改表结构,增加列,删除列等
增加一列:ALTER TABLE tbname ADD COLUMN columnName datatype; 增加多列:ALTER TABLE tbname ADD COLUMN columnNam ...
- 强化学习--QLearning
1.概述: QLearning基于值函数的方法,不同与policy gradient的方法,Qlearning是预测值函数,通过值函数来选择 值函数最大的action,而policy gradient ...
- 认识ZTree
ZTree基本知识 zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 一.最简单的树(标准的json数据): 1.set ...
- hdu3879 最大权闭合回路
题意: 有n个基站可以建立,然后m个团体会使用这些基站进行工作,地i个团体会适应Ai Bi 这两个基站, 如果建成收益Ci, 第j个基站花费Pj,求如何建立使得收益最大, 将每个团体看以一个点,然后 ...