当前位置: 首页 > news >正文

计算机基础知识复习8.14

子线程抛异常主线程能否catch

在不做任何处理的情况下,主线程不能catch

解决方式:

子线程使用try catch来捕获异常

为线程设置未捕获异常处理器UncaughtExceptionHandler

通过future的get方法捕获异常

JVM相关参数

显示指定堆内存-Xms和-Xmx指定最小堆和最大堆

显示指定新生代内存 -XX:NewSize,-XX:MaxNewSize指定新生代最小内存和最大内存

显示指定元空间大小-XX:MetaspaceSize=N 设置Metaspace的初始大小,-XX:MaxMetaspaceSize=N设置Metaspace的最大大小

显示指定垃圾回收算法 -XX:+UserG1GC/-XX:+UserConcMarkSweepGC

记录GC日志记录:-XX:+PrintGCDetails打印基本GC信息

TreeMap和HashMap的区别

TreeMap实现了NavigableMap和SortedMap接口,相比于HashMap多了对集合中的元素根据键排序的能力以及对集合内元素的搜索能力

Bean是线程安全的吗

spring框架的bean是否线程安全,取决于其作用域和状态,常见作用域分为prototype和singleton,几乎所有场景都用singleton

prototype作用域下,每次获取都会创建一个新的bean实例,不存在资源竞争问题,不存在线程安全问题,对于singleton,IOC容器只有唯一的bean实例,可能存在资源竞争,如果bean有状态的话,就存在线程安全问题,对于有状态单例bean的线程安全问题,可以在类中定义一个ThreadLocal成员变量,将需要的可变成员变量保存在ThreadLocal中

JVM内存结构

程序计数器 Java虚拟机栈 本地方法栈 堆区 方法区

程序计数器:是一块很小的内存空间,是线程私有的,是当前线程正在执行的那条字节码指令的地址。他的作用是在多线程环境下,程序计数器记录当前线程执行的位置,从而当线程切换回来时,就知道上次线程执行到哪了

Java虚拟机栈会为每一个即将运行的java方法创建一块叫做栈帧的区域,用于存放该方法运行过程中的一些信息:局部变量表,操作数栈,动态链接,方法出口信息

本地方法栈是为了JVM运行Native方法准备的空间,很多native方法都是用c语言实现的

堆区:存放对象的内存空间,线程共享,所有线程都访问同一个堆

Fail-Fast机制

fail-fast机制是一种快速失败的策略,用于在集合迭代期间检测到其他线程对集合的结构进行修改,当fail-fast机制检测到并发修改时,会立即抛出concurrentModificationException异常,防止迭代继续执行,这样可以避免在不确定状态下进行迭代,保持数据的一致性。

Fail-fast机制通过在ArrayList内部维护一个modCount变量来实现,modCount记录了对ArrayList的结构进行修改的次数,在每次迭代开始时,会将modCount的值保存在一个局部变量expectedModCount中,然后在迭代过程,会再次检查modCount和expectedModCount是否相等,如果不相等,就说明有其他线程对ArrayList进行了修改,就会立即抛出ConcurrentModificationException异常

ArrayList相关

ArrayList初始化数组默认长度为10

ArrayList扩容为原来的1.5倍,扩容后是用新的数组,不是线程安全的

Java空对象引用占用内存吗

需要占用4或者8字节(取决于他是32位还是64位操作系统)

Linux查看端口的命令

lsof -i:端口号

netstat -tunlp |grep 端口号

TCP和UDP可以同时绑定相同的端口吗

在数据链路层中,通过mac地址来寻找局域网的主机,在网络层中,通过ip地址来寻找网络中互连的主机或路由器。在传输层中,需要通过端口来寻址,来识别同一计算机中同时通信的不同应用程序。所以,在传输层的端口号的作用,是为了区分同一主机上不同应用程序的数据包。传输层有两个传输协议分别是TCP和UDP,在内核中是两个完全独立的软件模块。当主机收到数据包后,可以在IP包头的协议号字段知道包是TCP/UDP,所以可以根据这个信息确定送给哪个模块处理,送给TCP/UDP模块的报文根据端口号确定送给哪个应用程序处理

TCP如何保证传输的可靠性

TCP实现可靠传输的方式, 可以通过序列号与确认应答。在TCP中,当发送端的数据到达接受主机时,接收端主机会返回一个确认应答消息,表示已收到消息

使用滑动窗口来告诉发送端自己还有多少缓冲区可以接受数据,于是发送端就可以根据接收端的处理能力来发送数据,而不会导致接受端处理不过来

引入拥塞控制,即只要发送方没有在规定时间内接受到ACK应答报文,也就发生了超时重传,就会认为网络出现了拥塞。只有在网络中没有出现拥塞时,拥塞窗口就会增大,网络中出现了拥塞,拥塞窗口就会减少

引入流量控制,控制发送方的发送速率不要太快,利用滑动窗口就可以实现发送方的流量控制

参考资料:
Java 面试指南 | JavaGuide

小林coding

相关文章:

计算机基础知识复习8.14

子线程抛异常主线程能否catch 在不做任何处理的情况下,主线程不能catch 解决方式: 子线程使用try catch来捕获异常 为线程设置未捕获异常处理器UncaughtExceptionHandler 通过future的get方法捕获异常 JVM相关参数 显示指定堆内存-Xms和-Xmx指定最…...

【io深层理解】

io深层理解 1.内核态2.用户态3. select IO多路复用执行原理4. select io多路复用限制和不足 1.内核态 一个进程会涉及多文件的修改,比如说。那么在内核态就会维护一个表,这个表叫文件描述符bitmap,这个表会传递给内核态,当然肯定传…...

【懒人工具】指定新文件,替换全盘旧文件

没辙,就是懒 最近在调整.clang-format,这个format文件要跟着项目走,只换本地默认的还不够。调整好以后一个项目一个项目的换,有时候会漏掉,索性全盘一次性换完。 基于自己操作的流程,写了个脚本&#xff0…...

React+Vis.js(02):设置节点样式

文章目录 1、修改vis.js的节点和关系颜色2、修改vis.js节点的字体颜色2.1 统一设置节点字体颜色2.2 自定义某个节点的字体颜色3、设置vis.js节点的边框颜色和宽度3.1 设置单个节点3.2 统一设置1、修改vis.js的节点和关系颜色 在vis.js中,可以通过color属性,来给node节点添加…...

3G网络要彻底没了

2月21日,三大运营商公布了最新的用户数据,移动联通电信三家5G套餐用户数合计超过了7.5亿。信通院早前公布的数据显示,一月份,国内市场5G手机出货量2632.4万部,占同期手机出货量的79.7%。 这两项数据,说明我们已经进入到了5G时代,5G的普及速度远超很多人的想象。就在5G逐…...

如何配置ESXI主机的IP地址管理

🏡作者主页:点击! 🐧Linux基础知识(初学):点击! 🐧Linux高级管理防护和群集专栏:点击! 🔐Linux中firewalld防火墙:点击! ⏰️创作…...

软件测试学习笔记丨测试用例设计方法

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/31921 一,黑盒测试方法论 1,等价类 1.1 定义 等价类划分是一种重要的、常用的黑盒测试方法不需要考虑程序的内部结构,只需要考虑程序的输入规格即可它将…...

MinIO基本用法

在现代云计算和大数据领域,对象存储因其可扩展性、可靠性和低成本成为数据存储的重要选择。MinIO作为一个高性能、分布式的对象存储系统,凭借其开源、简单易用以及与Amazon S3兼容的特性,在业界得到了广泛的应用。本文将带您了解MinIO的基本用…...

MySQL windows版本安装

一、下载MySQL安装包 访问MySQL官网:首先,访问MySQL的官方网站(MySQL),或者更具体地,访问MySQL的下载页面(MySQL :: Download MySQL Community Server)。 选择适合的版本&#xff1…...

Python实现人脸轮廓提取

目录 一、背景知识1.1 人脸检测和轮廓提取的意义1.2 人脸检测方法概述1.3 轮廓提取方法概述二、常用的人脸轮廓提取方法2.1 基于边缘检测的轮廓提取2.2 基于形态学操作的轮廓提取2.3 基于特征点检测的轮廓提取三、Python实现人脸轮廓提取3.1 安装依赖库3.2 使用Dlib进行人脸检测…...

Prettier+Vscode setting提高前端开发效率

文章目录 前言Prettier第一步:下载依赖(团队合作)或下载插件(独立开发)第二步:添加.prettierrc.json文件**以下是我使用的****配置规则** 第三步:添加.prettierignore文件**以下是我常用的****配…...

YOLOv10实时端到端目标检测

文章目录 前言一、非极值大抑制(NMS)二、NMS算法的具体原理和步骤三、YOLOV10创新点四、YOLOv10使用教程五、官方github地址 前言 距离上次写YOLOv5已经过去了两年,正好最近用YOLOv10重构了项目,总结下YOLOv10。 YOLOv10真正实时端到端目标检测&#xff…...

Java中的Annotation注解

常用注解 override:重写方法deprecated:弃用SuppressWarnings:抑制编译器警告 元注解(注解的注解) Target:描述注解所能修饰的类型Retention:描述注解的生命周期(SOURCE源代码、C…...

小五金加工:细节决定产品质量与性能

在小五金加工领域,细节往往决定着最终产品的质量、性能以及市场竞争力。看似微不足道的细微之处,实际上蕴含着巨大的影响。时利和将介绍小五金加工中细节的重要性。 首先,细节关乎产品的精度。小五金零件通常尺寸较小,但对精度的要…...

VS Code安装配置ssh服务结合内网穿透远程连接本地服务器详细步骤

文章目录 前言1. 安装OpenSSH2.VS Code配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…...

世界首位「AI科学家」问世!独立生成10篇学术论文! 横扫「顶会」?

大家好,我是 Bob! 😊 一个想和大家慢慢变富的 AI 程序员💸 分享 AI 前沿技术、项目经验、面试技巧! 欢迎关注我,一起探索,一起破圈!💪 AI科学家出世 最近一位人工智能AI科学家横空出世。 它是…...

【高阶数据结构】图

图 1. 图的基本概念2. 图的存储结构2.1 邻接矩阵2.2 邻接表2.3 邻接矩阵的实现2.4 邻接表的实现 3. 图的遍历3.1 图的广度优先遍历3.2 图的深度优先遍历 4. 最小生成树4.1 Kruskal算法4.2 Prim算法 5. 最短路径5.1 单源最短路径--Dijkstra算法5.2 单源最短路径--Bellman-Ford算…...

调研-音视频

音视频 基础概念主要内容音频基础概念音频量化过程音频压缩技术视频基础概念视频bug视频编码H264视频像素格式YUVRGB参考文献基础概念 ● 实时音视频应用环节 ○ 采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。 主要内容 音频 基础概念 三要素:音调(音频)、…...

【数据结构】链式结构实现:二叉树

二叉树 一.快速创建一颗二叉树二.二叉树的遍历1.前序、中序、后序遍历(深度优先遍历DFS)2.层序遍历(广度优先遍历BFS) 三.二叉树节点的个数四.二叉树叶子节点的个数五.二叉树的高度六.二叉树第k层节点个数七.二叉树查找值为x的节点…...

20221元组

在Python语言中, (7)是一种可变的、有序的序列结构,其中元素可以重复。 A.元组(tuple) B. 字符串(str) C. 列表(list) D.集合(set) ChatGPT 说: ChatGPT 在Python中,选项 C 列表(list) 符合题目描述。 解释: 列表 (list) 是一种可变的、有…...

4步实现Obsidian插件全中文显示:从技术原理到实践指南

4步实现Obsidian插件全中文显示:从技术原理到实践指南 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n Obsidian作为一款强大的知识管理工具,其生态系统依赖于丰富的第三方插件扩展功能。然而&#…...

YOLOv11涨点改进| 全网独家创新、检测头Head改进篇| CVPR 2026顶会 |使用FAAHead改进YOLOv11的检测头,处理小目标、遮挡小目标检测、旋转目标检测有效涨点,助力高效发论文

一、本文介绍 🔥本文给大家介绍使用CVPR 2026顶会 FAAHead 和 OBB_FAAHead 改进 YOLOv11的检测头,可以有效缓解目标检测中分类分支与框回归分支之间的特征冲突问题,尤其适合旋转目标检测或含明显方向信息的目标检测任务。FAAHead 的核心思想是在检测头阶段先对 RoI 或候选…...

RWKV7-1.5B-g1a多语言生成能力展示:中英日韩混合提示词真实输出效果对比

RWKV7-1.5B-g1a多语言生成能力展示:中英日韩混合提示词真实输出效果对比 1. 模型简介与核心能力 rwkv7-1.5B-g1a是基于新一代RWKV-7架构开发的多语言文本生成模型,特别优化了中英日韩四种语言的混合处理能力。这个1.5B参数的版本在保持轻量化的同时&am…...

3步颠覆传统性能管理:让你的华硕笔记本效能提升40%

3步颠覆传统性能管理:让你的华硕笔记本效能提升40% 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: …...

基于三菱PLC与MCGS组态的农田智能灌溉系统说明(两万字)

基于三菱PLC农田灌溉 包含说明一万 和MCGS组态农田智能灌溉系统说明一万前阵子回豫东老家帮我叔打理那三亩秋月梨果园,那浇地给我整得怀疑人生——三伏天顶着三十七八度的太阳,扛着铁锹跑遍地头开电磁阀,中午热得头晕就算了,晚上还…...

人体关键点检测实战:如何用OKS和AP评估模型性能(附Python代码示例)

人体关键点检测实战:OKS与AP指标深度解析与Python实现 在计算机视觉领域,人体姿态估计一直是热门研究方向,而准确评估模型性能则是项目落地的关键环节。不同于常规的目标检测任务,人体关键点检测需要更精细的评估体系——这正是OK…...

滞回比较器设计实战:从理论到参数优化

1. 滞回比较器基础:从门铃到航天器的抗噪神器 第一次接触滞回比较器是在大学电子设计课上,当时教授用一个生动的例子开场:"想象你家的门铃——如果它对任何风吹草动都响个不停,你会疯掉;但如果连用力敲门都没反应…...

ICML 2026 开分!投稿群来了!还有IJCAI、CVPR 2026投稿群!

点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信:CVer2233,助手会拉你进群!扫描下方二维码,加入CVer学术星球!可获得最新顶会/顶刊上…...

泛微OA Ecology 安全补丁管理账号配置与实战

1. 泛微OA Ecology安全补丁管理账号配置详解 第一次接触泛微OA Ecology系统的安全补丁管理功能时,我完全没意识到这个看似简单的配置背后藏着这么多门道。直到有次系统被恶意攻击,才发现默认的管理账号存在安全隐患。今天就带大家彻底搞懂这个关键配置&a…...

Windows系统卡顿?一招禁用Microsoft Compatibility Telemetry释放CPU资源(附详细截图)

Windows系统卡顿终极解决方案:彻底禁用Microsoft Compatibility Telemetry 最近帮朋友处理一台老笔记本时,遇到了典型的Windows系统卡顿问题——风扇狂转、程序响应迟缓,任务管理器里一个叫"Microsoft Compatibility Telemetry"的进…...