《2024最新Java面试题及答案(带完整目录)》

获取链接:《2024最新Java面试题及答案(带完整目录)》

更多技术书籍:技术书籍分享,前端、后端、大数据、AI、人工智能...

4.1.9.8. 可重入锁(递归锁) .................................................................................69
4.1.9.9. 公平锁与非公平锁 ...........................................................................................70
公平锁( Fair .................................................................................................................70
非公平锁( Nonfair .........................................................................................70
4.1.9.10.
ReadWriteLock 读写锁 ...............................................................................................70
读锁 ........................................................................................................................70
写锁 ........................................................................................................................70
4.1.9.11. 共享锁和独占锁 ......................................................................................70
独占锁 ..............................................................................................................................70
共享锁 ......................................................................................................................70
4.1.9.12. 重量级锁(Mutex Lock ............................................................................71
4.1.9.13. 轻量级锁.....................................................................................................................71
锁升级 .....................................................................................................................................71
4.1.9.14. 偏向锁................................................................................................................71
4.1.9.15. 分段锁.........................................................................................................................71
4.1.9.16. 锁优化........................................................................................................................71
减少锁持有时间 ...................................................................................................................72
减小锁粒度 ..............................................................................................................................72
锁分离 .......................................................................................................................................72
锁粗化 ..........................................................................................................................................72
锁消除 ......................................................................................................................................72
4.1.10. 线程基本方法 ..........................................................................................72
4.1.10.1.线程等待(wait .................................................................................73
4.1.10.2.
线程睡眠( sleep .............................................................................................................................73
4.1.10.3.
线程让步( yield ..............................................................................................................................73
4.1.10.4. 线程中断(interrupt .......................................................................................73
4.1.10.5.
Join 等待其他线程终止 ..............................................................................................74
4.1.10.6. 为什么要用 join() 方法? ..............................................................................74
4.1.10.7. 线程唤醒(notify ...........................................................................................74
4.1.10.8. 其他方法:...........................................................................................................74
4.1.11. 线程上下文切换 ............................................................................................................75
4.1.11.1. 进程...........................................................................................................................75
4.1.11.2. 上下文................................................................................................................75
4.1.11.3. 寄存器...................................................................................................................75
4.1.11.4. 程序计数器..........................................................................................................75
4.1.11.5.
PCB- “切换桢” .................................................................................................................................75
4.1.11.6.
上下文切换的活动: ..........................................................................................................................76
4.1.11.7.
引起线程上下文切换的原因 ..............................................................................................................76
4.1.12. 同步锁与死锁 ..............................................................................................................................76
4.1.12.1.
同步锁 ..................................................................................................................................................76
4.1.12.2.
死锁 ......................................................................................................................................................76
4.1.13. 线程池原理 ..................................................................................................................................76
4.1.13.1.
线程复用 ..............................................................................................................................................76
4.1.13.2.
线程池的组成 ......................................................................................................................................76
4.1.13.3.
拒绝策略 ..............................................................................................................................................78
4.1.13.4.
Java 线程池工作过程 .........................................................................................................................78
4.1.14. JAVA 阻塞队列原理 ....................................................................................................................79
4.1.14.1.
阻塞队列的主要方法 ..........................................................................................................................80
插入操作: ............................................................................................................................................................80
获取数据操作: ....................................................................................................................................................81
4.1.14.2.
Java 中的阻塞队列 .............................................................................................................................81
4.1.14.3.
ArrayBlockingQueue(公平、非公平) .......................................................................................82
4.1.14.4.
LinkedBlockingQueue(两个独立锁提高并发) .........................................................................82
4.1.14.5.
PriorityBlockingQueue(compareTo 排序实现优先) ..............................................................82
4.1.14.6.
DelayQueue(缓存失效、定时任务 ) ..........................................................................................82
4.1.14.7.
SynchronousQueue(不存储数据、可用于传递数据) ..............................................................83
4.1.14.8.
LinkedTransferQueue ......................................................................................................................83 13/04/2018
Page 5 of 283
4.1.14.9.
LinkedBlockingDeque .....................................................................................................................83
4.1.15. CyclicBarrier CountDownLatch Semaphore 的用法 ........................................................84
4.1.15.1.
CountDownLatch(线程计数器 ) ................................................................................................84
4.1.15.2.
CyclicBarrier(回环栅栏-等待至 barrier 状态再全部同时执行) ...............................................84
4.1.15.3.
Semaphore(信号量-控制同时访问的线程个数) .......................................................................85
4.1.16. volatile 关键字的作用(变量可见性、禁止重排序) .........................................87
变量可见性 ....................................................................................................................87
禁止重排序 .........................................................................................................................87
sychronized 更轻量级的同步锁 ...........................................................................................87
适用场景 ............................................................................................................................87
4.1.17. 如何在两个线程之间共享数据 .......................................................................88
将数据抽象成一个类,并将数据的操作作为这个类的方法 ...............................................88
Runnable 对象作为一个类的内部类 ......................................................................89
4.1.18. ThreadLocal 作用( 线程本地存储 ........................................................90
ThreadLocalMap (线程的一个属性) ..........................................................................90
使用场景 ............................................................................................................91
4.1.19. synchronized ReentrantLock 的区别 .........................................................91
4.1.19.1.
两者的共同点: ......................................................................................................91
4.1.19.2.
两者的不同点: ...........................................................................................................92
4.1.20. ConcurrentHashMap 并发 ..............................................................................92
4.1.20.1.
减小锁粒度 ....................................................................................................................92
4.1.20.2.
ConcurrentHashMap 分段锁 ..........................................................................................................92
ConcurrentHashMap 是由 Segment 数组结构和 HashEntry 数组结构组成 ....................93
4.1.21. Java 中用到的线程调度 .............................................................................93
4.1.21.1. 抢占式调度:................................................................................................................93
4.1.21.2. 协同式调度:.................................................................................................................93
4.1.21.3. JVM 的线程调度实现(抢占式调度) .......................................................................94
4.1.21.4. 线程让出 cpu 的情况: ...................................................................................94
4.1.22. 进程调度算法 ..............................................................................................94
4.1.22.1. 优先调度算法...............................................................................................................94
4.1.22.2. 高优先权优先调度算法 ..............................................................................................95
4.1.22.3. 基于时间片的轮转调度算法 ................................................................................96
4.1.23. 什么是 CAS 比较并交换-乐观锁机制-锁自旋 ...................................................96
4.1.23.1. 概念及特性.............................................................................................................96
4.1.23.2. 原子包 java.util.concurrent.atomic(锁自旋)............................................................97
4.1.23.3. ABA 问题...................................................................................................98
4.1.24. 什么是 AQS 抽象的队列同步器 ..........................................................................98
Exclusive 独占资源 -ReentrantLock .......................................................................................99
Share 共享资源 -Semaphore/CountDownLatch .........................................................................99
同步器的实现是 ABS 核心( state 资源状态计数) .............................................................100
ReentrantReadWriteLock 实现独占和共享两种方式 ............................................100
5. JAVA 基础 ...............................................................................................................................101
5.1.1.
JAVA 异常分类及处理 ..............................................................................................................101
5.1.1.1.
概念 .........................................................................................................................101
5.1.1.2.
异常分类 ..........................................................................................................101
Error ..........................................................................................................................101
Exception RuntimeException、CheckedException .........................................................101
5.1.1.3. 异常的处理方式 ...............................................................................102
遇到问题不进行具体处理,而是继续抛给调用者 ( throw,throws .........................................102
try catch 捕获异常针对性处理方式 ..........................................................................................102
5.1.1.4. Throw 和 throws 的区别: ......................................................................102

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/553192.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

十大开源机器人 智能体

1- Poppy 网址 https://www.poppy-project.org/en/ 2- Nao 网址:https://www.aldebaran.com/en/nao 3- iCub 网址: https://icub.iit.it/

vscode 配置go环境

https://www.zhihu.com/question/486786946/answer/2723663432 注意一定要安装最新版,否则不容易debug //main.go package main //说明hello.go这个文件在main这个包中import "fmt" //导入内置包,可以使用其中函数等func main() {fmt.Println("Hello…

机器视觉系统:电容表面瑕疵缺陷检测的精准“守望者”

在电子行业中,电容器作为关键元件,其质量和性能对于整个产品的稳定性和可靠性至关重要。电容器的表面质量直接影响其性能和寿命,因此,对电容表面瑕疵缺陷的精确检测显得尤为重要。近年来,随着机器视觉技术的飞速发展&a…

Linux设置真实IP

1.查看ens33网卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #添加以下内容 BOOTPROTODHCP #协议类型 dhcp bootp none ONBOOTyes #启动时是否激活 yes | no#修改文件完成后,重启网络 service network restartping www.baidu.com #验证网络是否生效 ifco…

[卷积神经网络]YoloV8

一、YoloV8 1.网络详解 ①backbone部分:第一次卷积的卷积核缩小(由3变为6);CSP模块的预处理卷积从3次变为2次;借鉴了YoloV7的多分支堆叠结构(Multi_Concat_Block)。 所小第一次卷积的卷积核尺寸会损失部分感受野&#…

鸢尾花数据集分类(决策树,朴素贝叶斯,人工神经网络)

目录 一、决策树 二、朴素贝叶斯 三、人工神经网络 四、利用三种方法进行鸢尾花数据集分类 一、决策树 决策树是一种常用的机器学习算法,用于分类和回归任务。它是一种树形结构,其中每个内部节点表示一个特征或属性,每个分支代表这个特征…

特步赞助可能“惹乱子”,北京半马进入官方调查阶段

北京半马风波的发酵超乎想象,从4月14日事件发生到现在,舆论已经从对赛事本身的质疑,上升到一些其他的层面。 从最新的信息来看,北京体育局、北京半马组委会表态称事情还在调查,舆论则大多倾向于“特步幕后操盘、外籍选…

抖去推短视频矩阵系统----源头开发

为什么一直说让企业去做短视频矩阵?而好处就是有更多的流量入口,不同平台或账号之间可以进行资源互换,最终目的就是获客留咨,提单转化。你去看一些做得大的账号,你会发现他们在许多大的平台上,都有自己的账…

Ubuntu 20.04 LTS 在3588安卓主板上测试yolov8-1.0版本的yolov8n-seg模型

0. 创建虚拟环境 #!< 创建虚拟环境yolov8 $ sudo pip install virtualenv $ sudo pip install virtualenvwrapper $ mkvirtualenv yolov8 -p /usr/bin/python3.81. 将yolov8n-seg.pt转换为yolov8n-seg.onnx文件 #!< 创建项目目录yolov8-rknn并下载yolov8n-seg.pt模型文…

MATLAB环境下基于随机期望最大化的多分量信号瞬时频率估计方法

相对于频率成分单一、周期性强的平稳信号来说&#xff0c;具有非平稳、非周期、非可积特性的非平稳信号更普遍地存在于自然界中。调频信号作为非平稳信号的一种&#xff0c;由于其频率时变、距离分辨率高、截获率低等特性&#xff0c;被广泛应用于雷达、地震勘测等领域。调频信…

.net反射(Reflection)

文章目录 一.概念&#xff1a;二.反射的作用&#xff1a;三.代码案例&#xff1a;四.运行结果&#xff1a; 一.概念&#xff1a; .NET 反射&#xff08;Reflection&#xff09;是指在运行时动态地检查、访问和修改程序集中的类型、成员和对象的能力。通过反射&#xff0c;你可…

SAP项目任务一览表

根据SAP Activate项目管理方法论的主要精神&#xff0c;浓缩到一些主要的团队和任务。 主要的团队有&#xff1a; 项目管理(办公室)Project Management(office)&#xff1a;项目经理团队&#xff0c;包括项目办公室。负责项目整体运行和监控&#xff0c;项目办公室负责项目的…

【MySQL 安装与配置】Window简单安装MySQL,并配置局域网连接

文章日期&#xff1a;2024.04.17 系统&#xff1a;Window10 || Window11 类型&#xff1a;安装与配置MySQL数据库 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js…

Stm32-hal库串口教程

工程是在上一节的LED的基础上修改的。 串口原理图 串口配置 led参考 CubelMX点灯-CSDN博客https://blog.csdn.net/anlog/article/details/137830323生成工程 编写包含文件 编写重定向代码 编写发送 编译下载 串口没有收到数据 查找原因 少配置了下图 再编译下载 收到数据…

【MySQL 数据宝典】【内存结构】- 002 Page管理机制

一、 Page 管理机制 Buffer Pool 的底层采用链表数据结构管理Page。在InnoDB访问表记录和索引时会在Page页中缓存&#xff0c;以后使用可以减少磁盘IO操作&#xff0c;提升效率。 1.1 Page 页的分类 free page &#xff1a; 空闲page&#xff0c;未被使用clean page&#xff…

Ubuntu 系统安装 VS Code 并配置 C++ 环境

Linux 系列教程&#xff1a; VMware 安装配置 Ubuntu&#xff08;最新版、超详细&#xff09;FinalShell 远程连接 Linux&#xff08;Ubuntu&#xff09;系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️ ➡️VS Code 官方教程&#xff1a;Using C on Linux in VS Code&…

Meta因露骨AI图片陷入困境

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

wsl安装与日常使用

文章目录 一、前向配置1、搜索功能2、勾选下面几个功能&#xff0c;进行安装二、安装WSL1、打开Windows PowerShell,查找你要安装的linux版本2、选择对应版本进行安装3、输入用户名以及密码 三、配置终端代理1、打开powershell,查看自己的IP把以下信息加入到~/.bashrc中 四、更…

目标检测——食品饮料数据集

一、重要性及意义 对食品和饮料进行目标检测的重要性和意义体现在多个方面&#xff1a; 商业应用与市场分析&#xff1a;目标检测技术在食品和饮料行业有着广泛的应用前景。通过对超市货架、餐馆菜单或广告海报中的食品和饮料进行自动识别和计数&#xff0c;商家可以获取关于产…

【C语言】——字符串函数的使用与模拟实现(下)

【C语言】——字符串函数的使用与模拟实现&#xff08;下&#xff09; 前言五、长度受限类字符串函数5.1、 s t r n c p y strncpy strncpy 函数5.2、 s t r n c a t strncat strncat 函数5.3、 s t r n c m p strncmp strncmp 函数 六、 s t r s t r strstr strstr 函数6.1、函…