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

2016年认证杯SPSSPRO杯数学建模B题(第一阶段)低分辨率下看世界全过程文档及程序

2016年认证杯SPSSPRO杯数学建模

B题 低分辨率下看世界

原题再现:

  数码摄像技术被广泛使用于多种场合中。有时由于客观条件的限制,拍摄设备只能在较低的分辨率下成像。为简单起见,我们只考虑单色成像。假设成像的分辨率为 32 × 64,成像方式是将整个矩形视野划分成 32 × 64 个相同大小的矩形格子,图像中每个像素的取值为对应格子的亮度平均值。每间隔一定时间拍摄一帧图像,运动的画面体现为图像的序列。
  第一阶段问题: 现在整个视野区域向某个方向缓慢运动,拍摄到的系列图像实时地传输到计算机中。请你建立合理的数学模型和算法,通过分析实时拍摄的图像,使用尽量少的时间,以判断出运动的方向。

整体求解过程概述(摘要)

  随着数码光学的软硬件发展,数码摄像技术得到广泛应用,由于成像设备等各方面因素的限制,设定成像分辨率为32×64,每个像素取对应网格亮度平均值。在图像摄取过程中,整个视野区域向某个方向(理解为直线)缓慢运动时,每隔一段时间拍摄一帧图像获得一组图像序列,实时传输给计算机,要求以尽量少的时间判断出运动的方向,并保证足够的精度。若图像满足“各向同性的一阶马尔科夫过程”假设,则使用一到两帧图像便可判断出运动方向。由于没有对帧率明确定义,进行分类讨论:
  一、摄像帧率较低,或者说不考虑单帧画面的运动性,图像是清晰的,则根据运动跟踪理论,利用至少两帧图像可判断出运动方向。拍摄了一组图像来模拟不同真实运动方向的连续两帧图像,在MATLAB编程环境下,建立了简洁的基于特征的图像跟踪算法模型,跟踪计算二值化处理后图像中的目标形心。涵盖全部方向范围的试验,结果验证了当背景中目标较明显时,模型可以以较高精度判断出运动方向,并可扩展到解决更复杂的图像跟踪问题。模型可应用到行人跟踪、智能交互等领域中。
  二、摄像帧率较高,每帧图像包含了因为视野区域发生运动导致的位移,即图像是模糊的,通过设计图像模糊算法,仅利用一帧图像便可判断出运动方向。利用Photoshop生成了一组模拟不同真实运动方向的模糊图像,基于滤波方向为运动模糊方向时,微分图像灰度绝对值之和最小,在MATLAB编程环境下,建立高通滤波算法模型,涵盖全部方向范围的试验结果验证了可以在大角度范围内准确地判断出运动方向;通过建立基于频谱预处理的算法模型补充解决小角度运动方向判断精度不足问题。这两个模型可应用到视频监视、智能交通等领域中。
  本文还对以上两种情况下建立的模型进行讨论、修正和优化。另外,两帧图像间的运动方向判断模型可以推广到序列图像的方向识别中;不过,本文只考虑了平面运动,没有分析空间运动情况。

问题分析:

  题目给出的前提和条件有:
  (1)成像方式
像素(Pixel)指基本原色素及其灰度的基本编码。通过数码摄像设备等设备获得图像传输到计算机,可得到由像素组成的点阵图(即题目中的相同大小矩形格子的组合),以每英寸的像素数(PPI,Pixels Per Inch)来衡量。图像分辨率的表达方式也为“水平像素数×垂直像素数”,题目给定成像分辨率取32×64。点阵图具有精细的图像结构、丰富的灰度层次和广阔的颜色阶调(色调值)。题目为简单起见,给定只需考虑单色成像,即用灰阶图(Gray Scale)来显示图像,图像的所有轮廓都是由深浅不同的灰色像素构成,是把白色和黑色之间按对数关系分为0~255共256阶,称为灰度,这里每个像素的取值为对应格子的亮度(lightness)平均值。其实,亮度是与颜色多明亮有关系的色彩空间的一个维度,调整亮度的方法就是设置Gamma值——其定义恰恰是图像的灰度值[14]。
  (2)运动方式
  运动方向:题目给定视野区域向“某个方向”运动,则认为始终是直线运动,即将成像系统看成线性系统。当然,并未说明是平面运动还是空间运动,即没有说明成像设备与成像目标物体之间的距离是否发生改变。首先讨论平面运动的情况,空间运动的情况将在后面进行说明。
  运动速度:“缓慢”是一个相对拍摄时间间隔(帧率)而言的概念,没有具体说明,我们进行讨论:
  一、帧率较低,也就是两帧图像之间隔了数秒甚至更久,成像目标物体发生相对很大位移变化的情况,如图2-1 a)所示,不考虑单帧画面存在运动,即对“运动的画面体现为图像的序列”的一种理解,那么每一幅图像都是清晰地,需要通过设计数学算法,对至少两幅连续图像进行追踪分析才能够判断出运动方向。
  二、考虑实际情况,帧率是较高的,一般是十几至数十秒分之一,则“缓慢”运动,也就是说在两帧之间成像设备与成像目标物体相对位移较小,必然产生模糊运动的情况,如图2-1 a)所示。那么可以通过设计数学算法,仅利用一帧图像便可判断出运动方向,以实现时间尽量少的要求。
在这里插入图片描述

  运动形式:可能匀速运动,加速运动,(振动),主要考虑匀速运动,对分析问题影响不大。
  (3)实时传输
  题目中说明了拍摄图像“实时”传递给计算机,则计算机可以进行实时分析运算,以判断运动方向和修正,认为这个传递时间可以忽略不计,理论上,求出的计算机每次运算耗时应足够短。
  第一阶段问题:要求用最优方法判断出摄影视野区域运动的方向。具体理解为应在结合数码摄像技术和生活实际的前提下,约定满足要求而尽量小的误差区间,以此前提给出以最快时间获取运动方向的数学模型和算法,并对若干满足题目给定条件的图像案例进行试验,验证模型是否符合运行时间最快、判断精度够高的要求。我们按照对题意的不同考虑及是否会产生图像运动模糊来分类,分别用运动跟踪算法和运动模糊算法建立不同模型,判断运动方向,计算误差。

模型假设:

  (1)假设摄像时的环境等客观条件不发生任何改变,即控制无关变量。
  (2)假设图像是自然图像,即每帧图像是“各向同性的一阶马尔科夫过程”,即图像的自相关及其功率谱是各向同性的,即每一帧图像只依赖于前一帧而不依赖过往图像。
  (3)假设是直线的相对运动,因为题目中说明了只是“向某个方向”。在实际应用中,匀速直线运动问题更具有一般性和普遍性;并且,变速的、非直线运动在某些条件下可以被分解成分段匀速直线运动。只要解决匀速直线运动图像序列的方向判断问题,变速的、非直线运动图像序列的方向判断问题就相对容易解决。
  (4)因为运动方向不变,则可将一序列图像移动问题简化成相邻两帧甚至一帧图像间移动的问题,制定出有效算法后再推广到序列图像问题。
  (5)依题,为了辨识方便和计算简单,可以将图像进行灰度化甚至二值化处理。
  (6)只考虑平面运动,不扩展到空间运动。

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

clc
clear
M=32; %图像的像素点宽度
N=64; %图像的像素点高度
%--------------将原始图像处理成符合要求的格式---------------------------%
A=read_seqim(5); %imread 函数读取图像 1 文件
B=read_seqim(8); %imread 函数读取图像 2 文件
for i=1:2if i==1Origin=A;elseOrigin=B;end
% imshow(Origin); %显示原图像
% title('原始彩色图像');
hsv=rgb2hsv(Origin); %提取黑白图像的亮度
H=hsv(:,:,1);%色彩
S=hsv(:,:,2);%深度
V=hsv(:,:,3);%亮度
A=size(Origin);%判断原始数据的像素
%-------------将原图像分割成 32X64 快区域,对每一个区域进行------------%
m=floor(A(1)/M); %原图宽度上将原图分为几块
n=floor(A(2)/N); %原图高度上将原图分为几块
Scolor=zeros(M,N);
t=1;
for i1=1:Mt1=1;for j1=1:NMedium=V(t:i1*m,t1:j1*n);Scolor(i1,j1)=sum(sum(Medium))/(m*n);t1=j1*n;endt=i1*m;
end
%----------------------------储存两张处理后的图像----------------------------%if i==1saveas(gcf,['C:\Users\diaosi\Desktop\matlab1\','图像 1 处理后图像.jpg']);pic_original=Scolor;elsesaveas(gcf,['C:\Users\diaosi\Desktop\matlab1\','图像 2 处理后图像.jpg']);pic_compare=Scolor;end
end
%------------显示原始图像与对比图像(都是经过处理后的)---------------%
figure(1)
imshow(pic_original);
title('图像 1 灰度处理');
figure(2)
imshow(pic_compare);
title('图像 2 灰度处理');
%----------------------------------二值化处理----------------------------------%
pic_original_bw=im2bw(pic_original);
figure(3)
imshow(pic_original_bw);
title('灰度图像 1 二值化处理');
saveas(gcf,['C:\Users\diaosi\Desktop\matlab1\','图像 1 处理后二进制图像.jpg']);
pic_compare_bw=im2bw(pic_compare);
figure(4)
imshow(pic_compare_bw);
title('灰度图像 2 二值化处理');
saveas(gcf,['C:\Users\diaosi\Desktop\matlab1\','图像 2 处理后二进制图像.jpg']);
%%_______X 代表高度,Y 代表宽度___________%%
%---------------求灰度图像 1 二值化处理后亮度的中心位置----------------%
t=0;%定义图像 1 亮度为 1 的个数
pic_original_local_sum_X=0;
pic_original_local_sum_Y=0;
for i=1:Mfor j=1:Nif (pic_original_bw(i,j)==1)pic_original_local_sum_X=pic_original_local_sum_X+i;pic_original_local_sum_Y=pic_original_local_sum_Y+j;t=t+1;endend
end 
pic_original_local_X=floor(pic_original_local_sum_X/t);%定义定义图像 1 亮度中心 X 方向上的位
置
pic_original_local_Y=floor(pic_original_local_sum_Y/t);%定义定义图像 1 亮度中心 Y 方向上的位
置 
%-----------求灰度图像 2 二值化处理后亮度的中心位置---------------%
t1=0;%定义图像 2 亮度为 1 的个数
pic_compare_local_sum_X=0;%x 方向上的位置
pic_compare_local_sum_Y=0;%Y 方向上的位置
for i=1:Mfor j=1:Nif (pic_compare_bw(i,j)==1)pic_compare_local_sum_X=pic_compare_local_sum_X+i;pic_compare_local_sum_Y=pic_compare_local_sum_Y+j;t1=t1+1;endend
end 
pic_compare_local_X=floor(pic_compare_local_sum_X/t1);%定义定义图像 2 亮度中心 X 方向的位
置
pic_compare_local_Y=floor(pic_compare_local_sum_Y/t1);%定义定义图像 2 亮度中心 Y 方向的位
置
%------------------判别运动的方向,并输出结果到命令窗口---------------------%
if(pic_compare_local_Y>pic_original_local_Y)&&(pic_compare_local_X>pic_original_local_X) 
degree=atan(abs(pic_compare_local_Y-pic_original_local_Y)/abs(pic_compare_local_X-pic_original_
local_X))*180/pi;fprintf('运动方向为右下,与 Y 轴的夹角为%f\n',degree)
elseif(pic_compare_local_Y>pic_original_local_Y)&&(pic_compare_local_X<pic_original_local_X) 
degree=atan(abs(pic_compare_local_Y-pic_original_local_Y)/abs(pic_compare_local_X-pic_original_
local_X))*180/pi;fprintf('运动方向为右上,与 Y 轴的夹角为%f\n',degree) 
elseif(pic_compare_local_Y<pic_original_local_Y)&&(pic_compare_local_X<pic_original_local_X) 
degree=atan(abs(pic_compare_local_Y-pic_original_local_Y)/abs(pic_compare_local_X-pic_original_
local_X))*180/pi;fprintf('运动方向为左上,与 Y 轴的夹角为%f\n',degree)
elseif(pic_compare_local_Y<pic_original_local_Y)&&(pic_compare_local_X>pic_original_local_X)
degree=atan(abs(pic_compare_local_Y-pic_original_local_Y)/abs(pic_compare_local_X-pic_original_
local_X))*180/pi;fprintf('运动方向为左下,与 Y 轴的夹角为%f\n',degree) 
elseif(pic_compare_local_Y>pic_original_local_Y)&&(pic_compare_local_X==pic_original_local_X
)fprintf('运动方向为右\n')
elseif(pic_compare_local_Y<pic_original_local_Y)&&(pic_compare_local_X==pic_original_local_X
)fprintf('运动方向为左\n')
elseif(pic_compare_local_Y==pic_original_local_Y)&&(pic_compare_local_X<pic_original_local_X
)fprintf('运动方向为上\n')
elseif(pic_compare_local_Y==pic_original_local_Y)&&(pic_compare_local_X>pic_original_local_X
)fprintf('运动方向为下\n')
end
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2016年认证杯SPSSPRO杯数学建模B题(第一阶段)低分辨率下看世界全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 B题 低分辨率下看世界 原题再现&#xff1a; 数码摄像技术被广泛使用于多种场合中。有时由于客观条件的限制&#xff0c;拍摄设备只能在较低的分辨率下成像。为简单起见&#xff0c;我们只考虑单色成像。假设成像的分辨率为 32 64&#xff0c…...

16、Kafka ------ SpringBoot 整合 Kafka (配置 Kafka 属性 及对应的 属性处理类 解析)

目录 配置 Kafka 及对应的 属性处理类配置KafkaKafka配置属性的约定代码演示生产者相关的配置消费者相关的配置 代码&#xff08;配置文件&#xff09;application.properties 配置 Kafka 及对应的 属性处理类 配置Kafka spring.kafka.* 开头的配置属性&#xff0c;这些属性将由…...

【蓝桥杯选拔赛真题61】python偶数平方 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析

目录 python偶数平方 一、题目要求 1、编程实现 2、输入输出...

智能语音识别源码系统+语义理解+对话管理+语音合成 带完整的搭建教程

人工智能技术的不断发展&#xff0c;智能语音识别技术逐渐成为人们日常生活和工作中不可或缺的一部分。然而&#xff0c;目前市场上的智能语音识别产品大多存在一定的局限性&#xff0c;如识别率不高、功能单一等。为了解决这些问题&#xff0c;罗峰给大家分享一款基于智能语音…...

cdh6.3.2的hive配udf

背景 大数据平台的租户要使用udf&#xff0c;他们用beeline连接&#xff0c; 意味着要通过hs2&#xff0c;但如果有多个hs2&#xff0c;各个hs2之间不能共享&#xff0c;需要先把文件传到hdfs&#xff0c;然后手动在各hs2上create function。之后就可以永久使用了&#xff0c;…...

在DevEco开发工具中,使用Previewer预览界面中的UI组件

1、在DevEco工具中&#xff0c;点击并展开PreViewer预览器 2、在PreViewer预览器中&#xff0c;点击Tt按钮&#xff08;Inspector&#xff09;切换至组件查看模式 3、在组件查看模式下选择组件&#xff0c;代码呈现选中状态&#xff0c;右侧呈现组件树&#xff0c;右下方呈现组…...

【蓝桥杯冲冲冲】旅行计划

蓝桥杯备赛 | 洛谷做题打卡day18 文章目录 蓝桥杯备赛 | 洛谷做题打卡day18旅行计划题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题解代码我的一些话 旅行计划 题目描述 Kira酱要去一个国家旅游。这个国家有 N N N 个城市&#xff0c;编号为 1 1 1 至 N N…...

Ultraleap 3Di配置以及在 Unity 中使用 Ultraleap 3Di手部跟踪

0 开发需求 1、硬件&#xff1a;Ultraleap 手部追踪相机&#xff08;Ultraleap 3Di&#xff09; 2、软件&#xff1a;在计算机上安装Ultraleap Gemini (V5.2) 手部跟踪软件。 3、版本&#xff1a;Unity 2021 LTS 或更高版本 4、Unity XR插件管理&#xff1a;可从软件包管理器窗…...

HarmonyOS鸿蒙学习基础篇 - Text文本组件

该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 Text文本组件是可以显示一段文本的组件。该组件从API Version 7开始支持&#xff0c;从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 子组件 可…...

pytorch学习笔记(十一)

优化器学习 把搭建好的模型拿来训练&#xff0c;得到最优的参数。 import torch.optim import torchvision from torch import nn from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear from torch.utils.data import DataLoaderdataset torchvision.datas…...

【并发编程】 synchronized的普通方法,静态方法,锁对象,锁升级过程,可重入锁,非公平锁

目录 1.普通方法 2.静态方法 3.锁对象 4.锁升级过程 5.可重入的锁 6.不公平锁 非公平锁的 lock 方法&#xff1a; 1.普通方法 将synchronized修饰在普通同步方法&#xff0c;那么该锁的作用域是在当前实例对象范围内,也就是说对于 SyncDemosdnewSyncDemo();这一个实例对象…...

jQuery 删除元素 —— W3school 详解 简单易懂(十四)

通过 jQuery&#xff0c;可以很容易地删除已有的 HTML 元素。 删除元素/内容 如需删除元素和内容&#xff0c;一般可使用以下两个 jQuery 方法&#xff1a; remove() - 删除被选元素&#xff08;及其子元素&#xff09;empty() - 从被选元素中删除子元素 jQuery remove() 方…...

在 Linux 上搭建 Java 环境

目录 一、安装jdk 1. 挑选 jdk 版本 2. 安装 3. 验证 jdk 二、安装tomcat 1. 下载压缩包 2. 上传压缩包给 Linux &#xff08;需要用到 rz 命令&#xff09; 3. 解压压缩包&#xff08;需要用到 unzip&#xff09; 4. 进入 bin 目录 5. 给启动脚本增加可执行权限 6. 启…...

深度学习-Pytorch如何保存和加载模型

深度学习-Pytorch如何保存和加载模型 用pytorch构建模型&#xff0c;并训练模型&#xff0c;得到一个优化的模型&#xff0c;那么如何保存模型&#xff1f;然后如何又加载模型呢&#xff1f; pytorch 目前在深度学习具有重要的地位&#xff0c;比起早先的caffe&#xff0c;te…...

2.数据结构 顺序表(自留笔记)

文章目录 一.静态顺序表&#xff1a;长度固定二.动态顺序表1.下面证明原地扩容和异地扩容代码如下&#xff1a;2.下面是写一段Print&#xff0c;打印数字看看&#xff1a;3.头插4.尾删5.头删6.越界一定会报错吗7.下标插入8.下标删除9.查找数字10.应用&#xff1a;利用顺序表写一…...

将python打包成exe文件

将python打包成exe文件 文章目录 将python打包成exe文件1.安装PyInstaller2.配置pyinstaller到环境变量3.打包 以上一篇文章&#x1f517;用python删除重复文件并放入回收站为例&#xff0c;演示了如何用python写一个删除重复文件并放入回收站的功能代码&#xff0c;但是每次都…...

大数据处理,Pandas与SQL高效读写大型数据集

大家好&#xff0c;使用Pandas和SQL高效地从数据库中读取、处理和写入大型数据集&#xff0c;以实现最佳性能和内存管理&#xff0c;这是十分重要的。 处理大型数据集往往是一项挑战&#xff0c;特别是在涉及到从数据库读取和写入数据时。将整个数据集加载到内存中的传统方法可…...

【2024年5月备考新增】《软考高项论文专题 (2)论文背景(合集)》

1 论文的项目背景 1.1 论文写法 段落字数 - 正文全部字数不少于2000字孙悟空大闹天宫,被如来镇压,唐僧收服孙悟空,开始去西天取经。背景500字因为路途遥远,所以需要九九八十一难,才能取得正经。过渡段150字第一难、第二难 … 第八十一难过程1300字取得正经,唐僧只受了八…...

Mysql复习1--理论基础+操作实践--更新中

Mysql 索引索引的分类索引失效sql优化 删除数据库数据恢复 索引InnoDB引擎MyISAM引擎Memory引擎Btree索引支持支持支持hash索引不支持不支持支持R-tree索引不支持支持不支持Full-text索引5.6版本以后支持支持不支持 索引 解释说明: 索引指的是帮助mysql高效的获取数据的结构叫…...

微信小程序打卡定位实现方案

1背景 业务场景是考勤打卡,在考勤打卡这个业务场景中有两个关键技术点:定位和人员识别。用户界面初步确定是用微信小程序来实现,本文就定位问题做了技术上的调研。 2调研内容 平台注意事项 获取位置 选择位置 查看位置 距离计算 定位精度 防作弊 Demo 3调研结果 3.1平台注…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...