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

【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

文章目录

  • 前言
  • 章节提要
  • 一、进程管理
    • 1、进程的状态
    • 2、前趋图
    • 3、进程的同步与互斥
    • 4、PV操作
    • 6、PV操作与前趋图
    • 7、死锁问题
    • 进程资源图(补充)
    • 真题链接
  • 二、存储管理
    • 1、分区存储组织
    • 2、页式存储组织
    • 3、段式存储组织
    • 4、段页式存储组织
    • 5、快表
    • 6、页面置换算法
    • 单缓冲区、双缓冲区(补充)
    • 磁盘调度算法(补充)
    • 真题链接
  • 三、文件管理
    • 1、索引文件结构
    • 2、文件和树型目录结构
    • 真题链接
    • 3、空闲存储空间的管理
    • 真题链接
  • 四、设备管理
    • 1、数据传输控制方式
    • 2、虚设备与SPOOLING技术
    • 3、微内核操作系统

前言


本系列文章为观看b站视频以及b站up主@zst_2001系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。
视频链接:视频链接(注:文章中有关图片等内容未标明出处均出自该视频)
b站up主页:b站up

章节提要

占比 5-7分
​​​​在这里插入图片描述
在这里插入图片描述

一、进程管理

  • (注:下图来自前言中up主视频)在这里插入图片描述在这里插入图片描述
    (说明:计算机系统层次结构)

1、进程的状态

1)运行:当一个进程在CPU上运行时,则称该进程处于运行状态。

2)就绪:当一个进程除CPU外其他一切资源全部获得,则称该进程处于就绪状态

3)等待(阻塞或睡眠):当一个进程除CPU外还缺少其他资源,则称该进程处于等待状态。

时间片轮转来分配CPU资源,即一个进程从就绪到运行只能运行一个时间片,等时间片到无论任务是否完成均退出运行态转为就绪态,等待下一次调度(时间片轮转)
在这里插入图片描述

2、前趋图

前趋图是一个 有向无循环图
(注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))
在这里插入图片描述
在这里插入图片描述

3、进程的同步与互斥

1) 同步与互斥不互为“反义词”。同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。

2)进程的同步:在系统中一些需要相互合作、协同工作的进程。
在这里插入图片描述
2)进程的互斥:系统中多个进程因争用临界资源而互斥执行。
在这里插入图片描述
在这里插入图片描述

4、PV操作

1)临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。

2)临界区:每个进程中访问临界资源的那段代码称为临界区。

3)信号量S:是一种特殊的变量。S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。

4)P操作定义S=S-1,若S>=0,则执行P操作的进程继续执行;若 S<0,则置该进程为 阻塞 状态(因为无可用资源),并将其插入阻塞队列。

5)V操作定义S=S+1,若S>0,则执行V操作的进程继续执行;若 S<=0,则从阻塞状态 唤醒 一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
在这里插入图片描述
6)练习题
在这里插入图片描述

正确答案:AC
解析:付款后需要有V操作来唤醒收银员的收费操作,即a1为V操作,来唤醒b1相同信号量的P操作(没有人付款收银员的收款操作处于“阻塞”状态,有人付款才唤醒收银员的收费操作);而购书者付款后,需要等待收银员的收费操作完成,即付款后还需要P操作进行阻塞(a2),等待收费完成后的V操作进行唤醒(b2)。由此可知a1和b1是相同信号量的V操作和P操作,a2和b2是相同信号量的P操作和V操作。
PV操作解题的核心是找出约束关系(假设先执行某一个进程,然后看会发生什么问题,加入PV操作后可以解决此问题则为正确答案)

6、PV操作与前趋图

在这里插入图片描述
1)例题
在这里插入图片描述

正确答案:CAA
解析:(v处理,P等待),将用到的信号量标到线上(从上到下,从左到右
在这里插入图片描述
每条线箭头的起点位置是V操作,箭头的终点位置是P操作.
在这里插入图片描述

  • (注:下图来自希赛网解析)
    在这里插入图片描述
    (说明:前驱图解题方法)
  • 前驱图解题具体方法说明:有几个箭头需要几个信号量每个箭头信号量按进程编号组成的十进制数从小到大或者直接按上面的方法进行编号),每个进程完成后 (即指出的箭头需要执行V操作每个进程开始前(即指入的箭头需要执行P操作
    (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:共4个箭头,需4个信号量;四个箭头分别是P1->P2、P2->P3、P3->P4、P1->P3。按箭头两端的进程编号组成的十进制数从小到大排序:P1->P2、P1->P3、P2->P3、P3->P4(因为12<13<23<34)。所以依次对四个箭头赋予四个信号量:S1、S2、S3、S4。针对每个箭头对箭头指出端为V操作,箭头指入端为P操作即可
  • PV操作是操作系统提供的具有特定功能的原语。利用PV操作可以 实现资源的互斥使用
    P操作用来检查资源是否可用;V操作用来释放资源
  • (注:下图来自希赛网)
    在这里插入图片描述
    在这里插入图片描述(说明:进程管理PV操作相关)
  • 信号量的取值范围:(资源数-进程数)~ 资源数(常考)
  • (注:下图来自前言中up主视频)(了解即可,重点掌握前趋图
    在这里插入图片描述
    (说明:互斥信号量在一个图中成对出现,而同步信号量在两个图中交叉出现

7、死锁问题

1)概念:
在这里插入图片描述

  • (注:下图来自前言中up主视频)在这里插入图片描述
    (说明:发生死锁条件)

2)例题:
在这里插入图片描述

正确答案:13
解析:系统不可能发生死锁的最小资源数n:n>=(w-1)*m+1
(m个进程,每个进程需要资源w个)
利用上述可求得n>=(5-1)*3+1=13。

3)银行家算法
在这里插入图片描述
-内容:
在这里插入图片描述
-例题:
在这里插入图片描述

正确答案:B
解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程资源图(补充)

  • (注:下图来自前言中up主视频)
    在这里插入图片描述
    在这里插入图片描述
    (说明:处理进程资源图相关问题原则:先分配(资源),再申请(资源);或者先申请(资源)再分配(资源)从而判断是否能够满足要求,如果可以则为非阻塞结点,不可满足则为阻塞结点。方法:从非阻塞结点开始化简,当非阻塞结点满足条件后释放其申请的资源,对剩余进程继续进行分配/申请。当所有进程均可完成时,称该图是 可化简的
    分配:指向P的箭头;申请:P指出的箭头
    非阻塞结点:可完成;可化简(存在一种次序,可以使进程完成)
  • 当一个进程资源图中所有结点均为阻塞结点时,处于死锁状态
  • 线程可与同属一个进程的其它线程共享进程所拥有的全部资源(注:线程与线程之间是不可见的)。

真题链接

  • 在支持多线程的操作系统中,假设进程P创建了若干个线程,那么 该进程中某线程的栈指针 是不能被这些线程共享的。

二、存储管理

1、分区存储组织

在这里插入图片描述
(25k空间空出来原因:可能之前分配的作业已经执行完)

2、页式存储组织

在这里插入图片描述

  • 页面淘汰原则:淘汰在内存中的页号(即状态位为1),优先淘汰访问位为0的页号;若访问位都为1,则优先淘汰修改位为0的页号。(注:淘汰的页号需要在内存中(即淘汰内存中的页号)
  • 分页存储管理:页面大小为4k时,地址结构如图:
    (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:做题方法:如果逻辑地址为四位十六进制数表示,则 该十六进制数的第一位表示页号,后三位表示页内地址。若要求该逻辑地址转化为的物理地址( 物理地址=物理块号(页帧号)+页内地址该+不是算术加法,是直接将物理块号(页帧号)和页内地址拼接起来就可以),即 求页号对应的物理块号(页帧号)[直接查表],然后物理块号后面接上页内地址即为物理地址(转换后的物理地址仍然是十六进制))
  • 页面大小为多少kb就看其是2的多少次方,这个次方数就是页内地址的位数,逻辑地址/物理地址中,从后往前,去掉页内地址位数个数字,剩下的为页号。(逻辑地址/物理地址转为二进制后,然后再去掉页内地址位数个数字)

1)例题
在这里插入图片描述

正确答案:D、B
解析逻辑地址=页号+页内地址。页面大小4K=212,说明一个页的页内地址是12位(二进制),高于12位的部分为页号(从右往左数),对应的16进制,页内地址就是3位(从右往左数高于3位的为页号),所以页内地址为A29H,页号为5,物理块号(页帧号)为6(查表),物理地址=页帧号+页内地址,所以物理地址为6A29H。页面淘汰原则:1)淘汰访问位为0;2)多个访问位为0,则淘汰修改位为0。所以淘汰1号页。

3、段式存储组织

在这里插入图片描述

4、段页式存储组织

在这里插入图片描述

  • (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:分别数有多少位数字(数的位数=大数-小数+1)来表示段号、段内页号或页内地址即可,所求结果即为 2数的位数分别可代表最多的段数、每个段最大允许的页数、页的大小

5、快表

在这里插入图片描述
快表放在Cache中,慢表放在内存中

6、页面置换算法

在这里插入图片描述
抖动:刚被换出的页面很快又被访问,需重新调入,导致系统频繁地更换页面,以至于一个进程在运行过程中把大部分时间花费在完成页面置换的工作上
1)例题
在这里插入图片描述
2)例题
在这里插入图片描述

正确答案:B、C
解析:没有使用快表说明每读一次程序的块,需要先在内存上来查表,然后读取相应的内存块,所以每一个块需要进行两次内存的访问,总共6个块,所以访问12次内存。默认指令一次性调入(无论占几个块),指令跨页产生一次缺页中断,操作数跨页产生两次缺页中断。 所以产生5次缺页中断。

单缓冲区、双缓冲区(补充)

了解即可

  • (注:下图来自前言中up主视频)在这里插入图片描述
    在这里插入图片描述

磁盘调度算法(补充)

  • 先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。
  • 最短寻道时间优先(SSTF):要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。
  • 扫描算法(SCAN)或电梯调度算法
    (注:下图来自前言中up主视频)
    在这里插入图片描述
  • 单向扫描调度算法(CSCAN)或循环扫描算法
    (注:下图来自前言中up主视频)
    在这里插入图片描述

真题链接

  • 在移臂(磁盘)调度算法中,先来先服务和最短寻找(道)时间优先 算法可能会随时改变移动臂(磁头)的运动方向。(重复考,重点记忆)
  • 旋转调度算法
    • 读取记录时间=磁盘旋转速度/记录数
    • 如果是顺序处理,而且没有对信息存储进行优化,则磁头(磁头初始在0)在读取完一个记录后,然后进行处理,由于磁头在处理过程中不会停止,所以,当磁头处理完之后,到达了按顺序读取的下一个记录的下一个记录(应该处理2,但磁头此时已经到达3),即磁头需要旋转一圈,然后来读取下一个记录。所以处理时间为 读取第一个记录的时间+处理第一个记录的时间+(总记录数-1)*(磁头旋转到应该读取的记录的开始位置的时间+读取单条记录的时间+处理单条记录的时间(单缓冲区)
    • 如果对信息存储进行优化,即将记录进行顺序处理的间隔分步,即将每一个记录的下一个读取的记录安排在磁头读取完并处理完记录后,这样磁头处理完记录后就可以直接读取下一条记录,不用再旋转一圈,则时间为 总记录数 *(读取单条记录的时间+处理单条记录的时间)(单缓冲区)。
    • 存取时间=寻道时间+旋转延迟时间+传输时间看清题目是读取多少块,每块之间的寻道时间+块之间的旋转延迟时间和传输时间)。
  • 例题:
    (注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))
    在这里插入图片描述
    在这里插入图片描述

三、文件管理

1、索引文件结构

在这里插入图片描述

  • 多级索引结构
    (注:下图来自前言中up主视频)
    image
  • 磁盘块=数据块=索引块
    1)例题
    在这里插入图片描述

正确答案:C、D
解析:逻辑块号往往从0开始算,逻辑块号为5的存在58号物理块中,1个物理盘块1k大,1个地址4个字节,所以1个索引块可以存1k/4=256个地址,所以逻辑块号为261的存在187号物理块中,101号物理块存放的是二级地址索引表。

2、文件和树型目录结构

在这里插入图片描述

  • 目录结构“××路径”不写(不包括)文件名;“××名”写(包括)文件名
    (注:下图来自前言中up主视频)
    image

真题链接

  • 若系统正在将 目录 文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。

3、空闲存储空间的管理

在这里插入图片描述

  • 位示图:每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用
  • 一字节(Byte)等于8bit,字长视具体机器而定
  • 块号从0开始,字号题目没有给出则默认从1开始
  • 一个字对应32个物理块
  • (注:下图来自前言中up主视频)
    imageimage

1)例题
在这里插入图片描述

正确答案:D、B
解析:4195号物理块是第4196个物理块(因为从0开始编号),所以用(4195+1)/32=131.125,所以前面已经填满了131个,当前物理块所占的位在第132个字当中。因为需要占用所以取值必须为“1”,而由图可知4195号物理块在第32个字的第3位置。
在这里插入图片描述
第多少个字从1开始算
多少位置从0开始算

真题链接

  • 在Windows XP操作系统中,用户利用“磁盘管理”程序可以对磁盘进行初始化、创建卷,可以选择使用FAT、FAT32或NTFS文件系统格式化卷。通常将"C:\Windows\myprogram.exe"文件设置成只读和隐藏属性,以便控制用户对该文件的访问,这一级安全管理称之为 文件级 安全管理。
  • 如果系统采用信箱通信方式,当进程调用Send原语被设置成“等信箱”状态时,其原因是 指定的信箱中存满了信件
  • 设计操作系统时不需要考虑的问题是语言编译器的设计实现
  • 嵌入式系统初始化过程主要有3个环节,按照自底向上、从硬件到软件的次序依次为 片级初始化->板级初始化->系统级初始化。系统级初始化主要任务是 以软件初始化为主,主要进行操作系统的初始化
  • 当用户通过键盘或鼠标进入某应用系统时,通常最先获得键盘或鼠标输入信息的是 中断处理 程序。
  • 实时操作系统主要用于有实时要求的过程控制等领域。实时操作系统对于来自外部的事件必须在
    被控对象规定的时间内做出及时响应并对其进行处理
  • 从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的 可定制性
  • I/O软件隐藏了I/O操作实现的细节,方便用户使用I/O设备
  • 在磁盘调度管理中通常 先进行移臂调度,再进行旋转调度
  • 若磁盘的转速提高一倍,则 旋转等待时间减半
  • 云计算有多种部署模型(Deployment Models)。若云的基础设施是为某个客户单独使用而构建的,那么该部署模型属于 私有云
  • (注:下图来自前言中up主视频)image

四、设备管理

1、数据传输控制方式

在这里插入图片描述

  • (注:下图来自前言中up主视频)image
    (说明:I/O系统的层次结构与每层的主要功能)

2、虚设备与SPOOLING技术

在这里插入图片描述

3、微内核操作系统

在这里插入图片描述

相关文章:

【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图&#xff08;补充&#xff09;真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…...

【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)

1 背景 sing-box是一个命令行程序&#xff0c;官网给出的教程是复制链接到Git Bash&#xff08;windows&#xff09;或终端运行&#xff08;Linux&#xff09;。每次开机都进行复制运行是一件繁琐的事情。 复制的内容其实就是下次并运行shell脚本&#xff0c;其实系统只需要运…...

LeetCode 75-02:字符串的最大公因子

前置知识&#xff1a;使用欧几里得算法求出最大公约数 func gcdOfStrings(str1 string, str2 string) string {if str1str2 ! str2str1 {return ""}return str1[:gcd(len(str1), len(str2))] }func gcd(a, b int)int{if b 0{return a}return gcd(b, a%b) }...

k8s1.19使用ceph14

一、静态 pv (rbd)方式 1、所有k8s节点安装依赖组件 注意:安装ceph-common软件包推荐使用软件包源与Ceph集群源相同,软件版本一致。 cat > /etc/yum.repos.d/ceph.repo << EOF [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_…...

Leetcode 50. Pow(x, n)

文章目录 题目代码&#xff08;9.19 首刷看解析&#xff09; 题目 Leetcode 50. Pow(x, n) 代码&#xff08;9.19 首刷看解析&#xff09; 快速幂 class Solution { public:double myPow(double x, int n) {if(n 0)return 1;if(n 1)return x;if(n INT_MIN) { // 避免-n整…...

hive分区表的元数据信息numRows显示为0

创建分区表 CREATE TABLE `dept_partition`(`deptno` int, `dname` string, `loc` string) PARTITIONED BY (...

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C++)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切&#xff08;ROI&#xff09;功能&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的图像剪切&#xff08;ROI&#xff09;功能的技术背景CameraExplorer如何使用图像剪切&#xff08;ROI&#xff09;功…...

【云原生】聊聊为什么需要docker以及其基础架构

为什么需要docker 在没有docker之前&#xff0c;我们开发、测试、生产其实是根据不同的服务器进行配置的&#xff0c;很可能因为软件配置不同而导致的生产事故&#xff0c;那么如果能较好的解决软件和配置等封装成一个可运行的软件&#xff0c;无需关注配置&#xff0c;那么是…...

“高级前端开发技术探索路由的使用及Node安装使用“

目录 引言1. Vue路由的使用2. VueNode.js的安装使用总结 引言 在当今互联网时代&#xff0c;前端开发技术日新月异&#xff0c;不断涌现出各种新的框架和工具。作为一名前端开发者&#xff0c;我们需要不断学习和探索新的技术&#xff0c;以提升自己的开发能力。本文将深入探讨…...

LeetCode 494.目标和 (动态规划 + 性能优化)二维数组 压缩成 一维数组

494. 目标和 - 力扣&#xff08;LeetCode&#xff09; 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2…...

[36c3 2019]includer

[36c3 2019]includer 题目描述&#xff1a;Just sitting here and waiting for PHP 8.0 (lolphp). 首先来了解一下临时文件包含之PHP - compress.zlib:// 在 php-src 里可以找到和 compress.zlib:// 有关的代码 | code 注意到 STREAM_WILL_CAST&#xff0c;涉及到 cast 经常…...

Python150题day10

④continue练习 从列表 Ist [1,3,5,2,7,9,10] 中输出所有的奇数&#xff0c;代码如下 lst [1, 3, 5, 2, 7, 9, 10] for item in lst: if item % 2 0: continue print(item) 在上述代码中&#xff0c;当遇到偶数时&#xff0c;continue 语句会跳过当前迭代&…...

Autosar工具-Davinci Developer

文章目录 前言一、Davinci Developer简介二、导航栏File(主要是用于保存、打开工程等操作)HomeProject(主要用于导入、导出arxml文件)Graphic(主要在SWC设计时使用,包含对图形界面下的设计工具)Window(主要就是对我们的Dev界面外形修改用的,使得界面更加方便我们使用(比如隐…...

js中的数据结构:栈,队列,链表,字典哈希表,树

栈&#xff1a;先进后出 队列&#xff1a;先进先出 链表&#xff1a; 单链表&#xff1a; 双链表&#xff1a; 环形链表&#xff1a;最后一个数据的next指针不是指向null&#xff0c;指向的是任意之间的一个数据&#xff0c;形成一个环 数组和链表的区别&#xff1a; 字典和哈…...

Verdi实现信号的平移

在Verilog/System verilog中&#xff0c;# xxx可以实现延迟指定时间的功能&#xff0c;而在使用verdi查看信号波形并进行分析时&#xff0c;同样也可以实现类似的功能。 (注&#xff1a;这种信号平移是有其应用场景的&#xff0c;例如&#xff0c;在某些仿真模型中&#xff0c;…...

Leetcode算法入门与数组丨6. 数组双指针、滑动窗口

文章目录 1 双指针基础知识1.1 双指针简介1.2 左右指针&#xff08;对撞指针&#xff09;1.3 快慢指针1.4 分离双指针 2 滑动窗口基础知识2.1 滑动窗口算法介绍2.2 滑动窗口适用范围2.3 固定长度滑动窗口2.4 不固定长度滑动窗口 1 双指针基础知识 1.1 双指针简介 双指针&…...

推荐一本书《横向领导力》

大家好&#xff0c;这里是大话硬件。 今天想给大家推荐一本我近期正在阅读的书籍《横向领导力》。 这本书很早就买了&#xff0c;但是在去年就看了前面3章的内容&#xff0c;而且也没做笔记&#xff0c;仅仅是在书本上写写画画&#xff0c;也没有什么体会&#xff0c;感觉看不懂…...

React实战过程的知识了解

做项目用到react和antd&#xff0c;没办法循序渐进的学习&#xff0c;只能把一些点记录在这里&#xff0c;希望大家指正。 1.杂七杂八 正文 //actionRef&#xff0c;操作表单的预设方法&#xff0c;包括&#xff1a;刷新、重置所有项并刷新、重置到默认项、加载更多、清空选…...

F对象和Q对象

F对象和Q对象 F对象 一个F对象代表数据库中某条记录的字段的信息 作用: 通常是对数据库中的字段值在不获取的情况下进行操作 用于类属性(字段)之间的比较 语法 from django.db.models import F F(列名)解决一种极端事件的产生&#xff0c;比如用户对一条微博的点赞&#xf…...

Visio——绘制倾斜线段

一、形状 -> 图表和数学图形 -> 多行 二、放置多行线&#xff0c;可以发现存在两个折点 三、选择多行线&#xff0c;右键选择删除点&#xff0c;即可得到倾斜线段...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

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…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...