Java 并发编程面试二
目录
一、并发编程三要素?
二、实现可见性的方法有哪些?
三、多线程的价值?
四、创建线程的有哪些方式?
五、创建线程的三种方式的对比?
六、Java 线程具有五中基本状态
七、什么是线程池?有哪几种创建方式
八、四种线程池的创建
九、线程池的优点?
十、常用的并发工具类有哪些?
十一、CyclicBarrier 和 CountDownLatch 的区别
十二、synchronized 的作用?
十三、volatile 关键字的作用
十四、什么是 CAS
十五、CAS 的问题
十六、什么是 Future?
十七、什么是 AQS
十八、AQS 支持两种同步方式
十九、ReadWriteLock 是什么
二十、FutureTask 是什么
二十一、synchronized 和 ReentrantLock 的区别
二十二、什么是乐观锁和悲观锁
二十三、线程 B 怎么知道线程 A 修改了变量
二十四、synchronized、volatile、CAS 比较
二十五、sleep 方法和 wait 方法有什么区别?
二十六、ThreadLocal 是什么?有什么用?
二十七、为什么 wait()方法和 notify()/notifyAll()方法要在同步块
中被调用
二十八、多线程同步有哪几种方法?
二十九、线程的调度策略
三十、ConcurrentHashMap 的并发度是什么
三十一、Linux 环境下如何查找哪个线程使用 CPU 最长
三十二、Java 死锁以及如何避免?
三十三、死锁的原因
三十四、怎么唤醒一个阻塞的线程
三十五、不可变对象对多线程有什么帮助
三十六、什么是多线程的上下文切换
三十七、如果你提交任务时,线程池队列已满,这时会发生什么
三十八、Java 中用到的线程调度算法是什么
三十九、什么是线程调度器(Thread Scheduler)和时间分片(Time
Slicing)?
四十、什么是自旋
四十一、Java Concurrency API 中的 Lock 接口(Lock interface)
是什么?对比同步它有什么优势?
四十三、Semaphore 有什么作用
四十四、Executors 类是什么?
四十五、线程类的构造方
相关文章:
Java 并发编程面试二
目录 一、并发编程三要素? 二、实现可见性的方法有哪些? 三、多线程的价值? 四、创建线程的有哪些方式? 五、创建线程的三种方式的对比? 六、Java 线程具有五中基本状态 七、什么是线程池?有哪几种创建方式 八、四种线程池的创建 九、线程池的优点? 十、常用的…...
成功解决“ModuleNotFoundError: No Module Named ‘utils’”错误的全面指南
成功解决“ModuleNotFoundError: No Module Named ‘utils’”错误的全面指南 在Python编程中,遇到ModuleNotFoundError: No Module Named utils这样的错误通常意味着Python解释器无法找到名为utils的模块。这可能是由于多种原因造成的,比如模块确实不存…...
Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:公路智能巡检解决方案
项目背景 中国公路网络庞大,总里程超过535万公里,高速公路里程位居世界前列。面对基础设施存量的不断增长,公路养护管理已迈入“建管养并重”的新时代。随着养护支出的逐年攀升,如何提升养护效率、降低管理成本,成为亟…...
【Maxcompute】geohash转经纬度,经纬度转geohash,计算geohash九宫格
1.梳理、总结经纬度处理在Maxcompute平台上的实战应用,如geohash转经纬度,经纬度转geohash,计算geohash九宫格等。 2.欢迎批评指正,跪谢一键三连! 文章目录 1.部署代码1.部署代码 部署至Maxcompute(ODPS)-DataWorks平台,去掉代码注释即可#coding:utf-8 # from odps.udf…...
【R语言基础】如何更新R版本
文章目录 概要流程细节具体步骤 概要 提示:由于软件包的更新,所以需要更新R至新版本 流程细节 查看当前R版本 R.version下载更新包:installr install.packages("installr")library(installr)跟着向导一步步执行安装 具体步骤 …...
Python知识点10---函数
提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python的函数和Scala的函数很像,语法很简单,注…...
有哪些挣钱软件一天能赚几十元?盘点十个能长期做下去的挣钱软件
在这个信息爆炸的时代,每个人都在寻找快速赚钱的秘诀。很多人做兼职副业的目标并不是获得很大的成功,大部分人一天能赚几十就心满意足了。 今天,我要带你一探究竟,揭秘那些能让你日赚几十元的挣钱软件。准备好了吗?让我…...
CentOS7安装MySQL教程
第一章 检查是否安装了Mysql 1.1 yum检查 yum list installed | grep mysql 1.2 安装则直接删除 yum remove xxx 1.3 rpm检查 rpm -qa | grep -i mysql # 有则直接删除 rpm -e --nodeps xxx 第二章 正式安装MySQL 2.1 yum安装,下载mysql wget --no-check-ce…...
师彼长技以助己(3)逻辑思维
师彼长技以助己(3)逻辑思维 前言 上一篇文章进行了工程思维和产品思维的测试,并介绍了几个比较重要的产品思维模型。接下来本篇介绍工程思维。(注意产品思维并不代表产品经理思维,工程思维也并不代表工程师思维&…...
LeetCode:反转链表I
文章收录于LeetCode专栏 LeetCode地址 反转链表I 题目 给你单链表的头节点head,请你反转链表,并返回反转后的链表。 示例 1: #mermaid-svg-IYmD16EKuu3CZWwV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…...
oracle linux7安装oracle11g0204
1、平时需要修改 /etc/redhat-release文件为Red Hat Enterprise Linux 7,这次不需要了。 2、关闭selinx nano /etc/selinux/config 改为disabled 3、nano /etc/hosts 修改解析 在oracle服务器中增加 /etc/hosts中一个对应 192.168.1.10 CLOUD-MC-SQL1 4、修改系统文件 /…...
STM32--ADC
一、简介 *ADC(Analog-Digital Converter)模拟-数字转换器 *ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 *12位逐次逼近型ADC,1us转换时间 *输入电压范围:0~3.3V&…...
【TB作品】msp430f149单片机,读取ds18b20温度,显示到数码管,串口发送温度到电脑
功能 msp430f149单片机 读取ds18b20温度,显示到数码管,串口发送温度到电脑 部分程序 /************************************************* * 程序功能:用DS18B20测量室温并在数码管上显示。 * --------------------------------------…...
vue组合式和选项式
Vue中的组合式(Composition API)和选项式(Options API)是两种不同的编写组件逻辑的方法。 组合式API(Composition API): 使用函数来定义组件逻辑,可以更灵活地重用和组合逻辑。使用setup函数作为组件的入口点,在这里可以访问pro…...
使用OpenCV创建全景图像
使用OpenCV创建全景图像 前言图像拼接策略创建全景图像相关链接前言 在本节中,我们将学习组合多个图像来创建全景图像。使用相机拍摄全景照片时,通常会拍摄多张照片,通过算法将这些图像中共同存在的元素(从左到右)映射到一张单独的图像中。为了执行图像的拼接,将利用 cv2 …...
Nios II 实现流水灯实验
Nios II 实现流水灯实验 一.硬件设计1.新建Quartus项目2. 设计Nios ii 二.软件设计 前言 实验目标: 学习 Quartus 、Platform Designer、Nios-II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;掌握 …...
Spring boot 随笔 1 DatasourceInitializer
0. 为啥感觉升级了 win11 之后,电脑像是刚买回来的,很快 这篇加餐完全是一个意外:时隔两年半,再看 Springboot-quartz-starter 集成实现的时候,不知道为啥我的h2 在应用启动的时候,不能自动创建quartz相关…...
vue3_组件间通信方式
目录 一、父子通信 1.父传子( defineProps) 2.父传子(useAttrs) 3.子传父(ref,defineExpose ) 4.子传父(defineEmits) 5.子传父(v-model) …...
mysql的锁(全局锁)
文章目录 mysql按照锁的粒度分类全局锁概念:全局锁使用场景:全局锁备份案例: mysql按照锁的粒度分类 全局锁 概念: 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是: Flush tables with…...
Spring Boot 整合开源 Tess4J库 实现OCR图片文字识别
😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...
成都美容院灯箱技术白皮书:2024年行业趋势与落地实践指南
美容院灯箱:不只是照明,更是品牌灵魂的窗口走进任何一条成都的商业街,你很难忽视那些光彩夺目的美容院灯箱。它们不仅仅是照明工具,更是品牌形象的第一道防线。有趣的是,很多人会误以为灯箱只是‘打个光’那么简单&…...
React+GSAP实战:5种酷炫滚动动画效果完整代码分享(含ScrollTrigger配置)
ReactGSAP实战:5种酷炫滚动动画效果完整代码分享(含ScrollTrigger配置) 在现代Web开发中,流畅的滚动动画已经成为提升用户体验的关键因素。作为前端开发者,我们经常需要实现各种吸引眼球的滚动效果,从简单的…...
如何让foobar2000界面脱胎换骨?3大设计理念打造个性化音乐体验
如何让foobar2000界面脱胎换骨?3大设计理念打造个性化音乐体验 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 副标题:从安装到定制:零基础也能掌握的foobox-cn美化…...
光伏板缺陷检测实战:从数据集构建到YOLO模型训练全流程解析
1. 光伏板缺陷检测的现实意义 光伏发电作为清洁能源的重要组成部分,其运维效率直接影响发电量收益。我在实地考察中发现,一块被鸟粪覆盖的光伏板,发电效率可能下降30%以上;而热斑效应更会导致组件永久性损伤。传统人工巡检每天最多…...
M1 Mac 8GB内存跑不动7B模型?手把手教你用1.5B版DeepSeek+RAGFlow搭建个人知识库
M1 Mac 8GB内存跑不动7B模型?手把手教你用1.5B版DeepSeekRAGFlow搭建个人知识库 当M1 Mac用户尝试在本地部署大语言模型时,8GB内存往往成为难以逾越的障碍。特别是运行7B参数模型时,内存不足导致的崩溃和卡顿让许多开发者望而却步。本文将分…...
OpenCode应用案例:搭建企业内部代码审查助手,提升开发效率
OpenCode应用案例:搭建企业内部代码审查助手,提升开发效率 1. 项目背景与痛点分析 在软件开发团队中,代码审查是保证代码质量的关键环节。然而传统人工审查方式面临诸多挑战: 时间成本高:资深工程师需要花费大量时间…...
Vue 3.4+ 实验性/新特性深度实战(2026版)
一、背景:从“稳定”到“极致体验”截至 2026 年,Vue 3.4 与 3.5 已全面普及,但许多能显著降低心智负担的特性(如 defineModel)在早期被标记为“实验性”,或仅在 3.5 才完全稳定。如果你还在写“Pr…...
STM32F103红外小车避坑指南:从Proteus仿真失败到实物调试成功
STM32F103红外小车避坑指南:从Proteus仿真失败到实物调试成功 第一次尝试用STM32F103做红外循迹小车时,我花了整整三天时间在Proteus里调试仿真,结果连最基本的电机转动都实现不了。直到把电路搬到实物上,才发现仿真环境里那些看似…...
如何快速掌握Mermaid在线编辑器:面向初学者的完整可视化工具指南
如何快速掌握Mermaid在线编辑器:面向初学者的完整可视化工具指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-l…...
BilibiliDown终极指南:如何快速掌握B站视频批量下载技巧
BilibiliDown终极指南:如何快速掌握B站视频批量下载技巧 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...
