以下为大家整理了今年一线大厂面试被问频率较高的多线程面试题,由于本人的见识局限性,所以可能不是很全面,也欢迎大家在后面留言补充,谢谢。

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(含答案)的更多相关文章

  1. java面试必问:多线程的实现和同步机制,一文帮你搞定多线程编程

    前言 进程:一个计算机程序的运行实例,包含了需要执行的指令:有自己的独立地址空间,包含程序内容和数据:不同进程的地址空间是互相隔离的:进程拥有各种资源和状态信息,包括打开的文件.子进程和信号处理. 线 ...

  2. Java面试必问之Hashmap底层实现原理(JDK1.7)

    1. 前言 Hashmap可以说是Java面试必问的,一般的面试题会问: Hashmap有哪些特性? Hashmap底层实现原理(get\put\resize) Hashmap怎么解决hash冲突? ...

  3. 一线大厂Java面试必问的2大类Tomcat调优

    一.前言 最近整理了 Tomcat 调优这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调优都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍 ...

  4. linux驱动工程面试必问知识点

    linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...

  5. 互联网公司面试必问的mysql题目(上)

    又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...

  6. 面试必问:JVM类加载机制详细解析

    前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点. 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是cla ...

  7. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

  8. 互联网公司面试必问的Redis题目

    Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...

  9. 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别

    [面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...

随机推荐

  1. rest_framework的认证系统

    1.认证模块 必须用户登录之后才能访问所有图书,才能修改图片,才能查询单个图书 2.怎么使用 其实本质上就是携带token字符串,然后后台拿到数据再取数据库进行校验,看是否有这个用户 先手写一个认证模 ...

  2. vue监听滚动事件 实现某元素吸顶或者固定位置显示

    https://blog.csdn.net/wang1006008051/article/details/78003974 1.监听滚动事件 利用VUE写一个在控制台打印当前的scrollTop, 首 ...

  3. (转)fabric 一个链码如何调用另一个链码

    使用开发模式测试 可以使用~/hyfa/fabric-samples/chaincode-docker-devmode/启动fabric,具体过程略 用同一个链码注册2个服务 root@2ee7b51 ...

  4. Python 全栈开发四 python基础 函数

    一.函数的基本语法和特性 函数的定义 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数 ...

  5. 关于ASP.NET预编译(转自dudu)

    为什么要用预编译? 博客园博客程序中.aspx和.ascx文件总共加起来有3000多个(博客模板中有大量的.ascx文件).如果使用动态编译,每次只要更新bin文件夹中的任何一个dll文件,动态编译至 ...

  6. 20165321 实验一Java开发环境的熟悉-2

  7. 将多行按分隔符"|"合成一行

    原数据文件s.txt api_test account info 参数错误 合并后数据格式 api_test|account||参数错误||||| 方法介绍: 1.sed + xargs sed 's ...

  8. Go linux 实践4

    这是目前学习的最难的Go demo例子 ***************************************** 如果能看懂,你就出师了,我的任务也就结束了 **************** ...

  9. Appium遇到的问题二(持续更新....)

    Python版: 1.运行Appium遇到的错误:此问题是由于JDK版本要在1.7及以上. Android开发要求. A new session could not be created. C:\Py ...

  10. AI案列 三条路

    在生成点生成带有颜色的小球,小球走对应颜色的路 先做好三个小球,做成预制体 对应颜色的小球,除了自身颜色,其他颜色不要选 新建脚本: using System.Collections; using S ...