Java面试题总结 - Java多线程篇(附答案)

多线程面试题汇总 使用其他语言写的python解析器(不推荐,还是用python官方的CPython好)不使用多线程,使用多进程-进程里面加协程实现多任务来充分利用多核CPU(推荐)即使存在GIL,在有IO等待操作的程序中,还是多线程快;当然没有资源等待的还是使用单线程快(科学计算、累加等等)但是需要注意的是线程有了GIL后并不意味着使用python多线程时不需要考虑线程安全,GIL的存在是为了方便使用C语言CPython解释器的编写者,而顶层使用python时依旧要考虑线程安全。 阅读详情

目录

一、线程的run()和start()有什么区别?

二、为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?

三、Synchronized 用过吗,其原理是什么?

四、JVM 对 Java 的原生锁做了哪些优化?

五、为什么 wait(), notify()和 notifyAll()必须在同步方法或者同步块中被调用?

六、Java 如何实现多线程之间的通讯和协作?

七、Thread 类中的 yield 方法有什么作用?

八、为什么说 Synchronized 是非公平锁?

九、请谈谈 volatile 有什么特点,为什么它能保证变量对所有线程的可见性?

十、为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性?

十一、乐观锁一定就是好的吗?

十二、请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同。

十三、ReentrantLock 是如何实现可重入性的?

十四、什么是锁消除和锁粗化?

十五、跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同?

十六、那么请谈谈 AQS 框架是怎么回事儿?

十七、AQS 对资源的共享方式?

十八、如何让 Java 的线程彼此同步?

十九、你了解过哪些同步器?请分别介绍下。

二十、Java 中的线程池是如何实现的

二十一、创建线程池的几个核心构造参数

二十二、线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?

二十三、volatile 关键字的作用

92道Java多线程并发面试题含答案(很全) Java多线程是指在一个程序中同时执行多个线程,每个线程都有自己独立的执行路径。在多线程中,程序的执行可以同时进行多个任务,从而提高系统的资源利用率和响应性能。 阅读详情

相关推荐

别再只用LSTM了!用Temporal Fusion Transformer (TFT) 搞定多变量时序预测,附PyTorch实战代码

本文介绍了Temporal Fusion Transformer (TFT) 在多变量时序预测中的优势,并提供了PyTorch实战代码。TFT通过三重注意力机制解决了LSTM在特征交互、静态特征处理和解释性方面的不足,显著提升了预测精度和可解释性。文章详细讲解了TFT的核心组件构建、数据预处理、模型训练技巧及可解释性分析,帮助开发者快速掌握这一先进时序预测技术。

weixin_33712987的博客 279

ThinkBook 16p 2024 BIOS降压定频实战:从解锁CFG Lock到AC Loadline调优

高性能笔记本在满载时频繁撞上温度墙,通常源于固件层默认电压冗余过大,而系统级降压工具又受限于CFG Lock锁定。要根治问题,需要从BIOS固件层面理解电压管理机制——AC/DC Loadline参数控制着CPU在不同负载下的电压请求,通过修改这些负载线值可以安全降低电压,解锁CFG Lock后还能让XTU、ThrottleStop等软件调参工具恢复可用。这种BIOS级调优在工程实践中广泛用于改善散热、稳定频率、压降风扇噪音,尤其适用于联想ThinkBook 16p 2024与拯救者Y9000P等采用HX平

weixin_32496547的博客 387

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 550

保姆级教程:用Smaart7和你的USB声卡搞定现场音响系统调试(附频谱与延时测试避坑指南)

本文提供Smaart7与USB声卡协同工作的现场音响系统调试指南,涵盖硬件连接、频谱分析、延时校准等关键步骤。通过详细的操作流程和常见问题解决方案,帮助音响工程师快速掌握专业测量技术,确保演出音质达到最佳状态。

weixin_29290259的博客 422

傻白入门芯片设计,wafer/die/chip/cell(一)

芯片设计的一些基本概念

qq_46675545的博客 2万+

【Cursor+Playwright-MCP 实现 AI 自主功能测试】含实例代码脚本+保姆级教程

本文档详细介绍了如何使用 Cursor(AI 编程助手)和 Playwright-MCP 库实现基于 GPT 模型的自动化功能测试。文档从环境搭建开始,逐步指导读者如何通过 Playwright 进行浏览器自动化,并利用 Playwright-MCP 集成 GPT 模型生成测试计划、执行测试步骤及生成测试报告。核心步骤包括安装依赖、配置 OpenAI API 密钥、编写代码实现 AI 驱动的测试流程,以及生成详细的测试报告。通过本文档,读者可以快速掌握从 0 到 1 实现 AI 自主功能测试的全流程。

Dreams°的博客 2891

YOLOv11半监督学习深度解析:基于FixMatch改进的先进目标检测框架

本文探讨了半监督学习与YOLOv11结合的创新方法。针对目标检测中半监督学习面临的伪标签质量不稳定、特征一致性难保证等挑战,研究提出改进版FixMatch框架。通过分析YOLOv11架构特性(如多尺度特征提取、双标签分配策略等)与半监督学习的适配性,设计了三项关键技术改进:空间感知阈值策略、多任务解耦处理和记忆增强机制。该方法在少量标注数据下可实现接近全监督的性能,显著降低工业检测等场景的数据标注成本。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2082

流体动力学仿真软件:SU2_(3).SU2的网格生成技术

设置网格的大小、密度等参数。

kkchenjj的博客 1030

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Java面试题以及答案精选(架构师面试题)
下一篇: java面试中被问到项目中的难点怎么回答?
普通网友
博客等级 码龄4年 3126粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值