【计算机网络01】 网络组成与三种交换方式
【参考资料】
- 《自顶向下的计算机网络第八版》
- 湖科大计算机网络(b站)
- 王道考研(b站)
文章目录
- 一、网络基础概念解析
- 1.1 网络、互联网与因特网
- 二、因特网发展三阶段(了解)
- 三、ISP
- 3.1 ISP基本概念
- 3.2 基于ISP的三层结构的因特网
- 四、因特网标准化工作(了解)
- 五、因特网的组成
- 六、三种交换方式
- 6.1 电路交换(Circuit Switching)
- 6.2 分组交换(Packet Switching)
- 6.3 三种交换方式的对比
- 6.3.1 电路交换的特点
- 6.3.2 报文交换的特点
- 6.3.3 分组交换的特点
一、网络基础概念解析
1.1 网络、互联网与因特网
网络(Network): 由若干个结点Node和连接这些节点的链路Link组成的(有线链路或无线链路)。 多个网络可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网),因此互联网也被成为“网络的网络(Network of Networks)”。因特网(Internet)是世界上最大的互联网络。
internet 和 Internet的区别:
- internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
二、因特网发展三阶段(了解)
三、ISP
3.1 ISP基本概念
因特网服务提供者ISP(Internet Service Provider),普通用户是通过ISP接入因特网的,ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路和路由器等联网设备,我们只需要向ISP缴纳费用就能得到所需要的IP地址。因特网上的主机必须有IP地址才能通信。
中国的三大运营商:中国电信、中国移动、中国联通。
3.2 基于ISP的三层结构的因特网
根据提供服务的覆盖面积大小及所拥有的IP地址数量的不同ISP分为不同层次:
-
第一层ISP通常被称为因特网主干网,一般能覆盖国际性区域范围,拥有高速链路和交换设备,第一层ISP之间直接互联。
-
第二层ISP和一些大公司都是第一层ISP的用户,具有区域性和国家性覆盖规模,与少部分第一层ISP连接。
-
第三层是第二层ISP的用户,且只拥有本地范围的网络,如校园网、企业网、住宅用户、移动用户等。
-
一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,只需要购买一些调制解调器或路由器这样的设备。
四、因特网标准化工作(了解)
制定其标准的特点:面向公众。其他的内容在这里就直接放截图了…
五、因特网的组成
-
边缘部分:由所有连接诶在因特网上的主机组成。这部分是用户直接使用的,用来通信(传数据)和资源共享。
-
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。起特殊作用的是路由器,是一种专用计算机(但不被称为主机),是实现分组交换的关键构件,任务是转发收到的分组,这是网络核心部分最重要的功能。
六、三种交换方式
6.1 电路交换(Circuit Switching)
电话出现之后,要让所有电话两两相连是不可能的,2部电话是一对电线,5部电话是10对电线,N部电话需要 n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n−1)
所以应该有一个中间设备进行连接:电话交换机,可以把电话交换机简单地看成是一个有多个开关的开关器,大大减少了电话线数量。
电话交换机接通电话线的方式称为电路交换。从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
电路交换的三个步骤:
- ① 建立连接,即分配通信资源。例如,在使用电路交换打电话之前,必须先拨号请求建立连接;当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路,这条连接保证了双方通话时所需要的通信资源(这些资源在通信时不会被其他用户占用)。
- ② 通话(一直占用通信资源)。
- ③ 释放连接(归还通信资源)。把刚才占用的所有通信资源归还给电信网。
Q: 如果使用电路交换来传送计算机数据,是否可行?
A: 当使用电路交换技术来传输计算机数据时,就像你在打电话一样,通话期间电话线就被你独占了,即使你不说话,这条线路也不能被其他人用来通话。对于计算机数据传输来说,数据不是一直连续不断地发送的,而是像一阵阵地爆发出来(突发式传输)。这意味着在你没有发送数据的时候,比如正在准备要发送的数据或者等待对方回应的时候,这段期间分配给你的传输线路就处于空闲状态,但别人还是不能用它。这就导致了线路资源的浪费,降低了整个网络的效率。
6.2 分组交换(Packet Switching)
在本例中,只演示出了分组传输过程中的两种情况,对于可能出现的分组丢失、误码、重复等问题并没有演示,之后再说:
- 各分组从源站到达目的站可以走不同的路径 (也就是不同的路由)
- 分组乱序:也就是分组到达目的站的顺序不一定与分组在源站的发送顺序相同。
在因特网中,最重要的分组交换机就是路由器,它负责将各种网络连接起来,并对接收到的分组进行转发,也就是分组交换。
假设主机H6的用户要给主机H2的用户发送一条消息,通常我们把表示该消息的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个分组,简称为“包”,首部就是包头。
Q: 添加首部的作用是什么? 这不是加大了传输数据量吗?
A: 首部中肯定包含了分组的目的地址,否则分组传输路径中的各分组交换机(也就是各路由器)就不知道如何转发分组了。分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机。
- 告诉路由器这个包要发给谁:就像快递单上的收件人地址。
- 告诉路由器该怎么转发:比如从哪个口出去、走哪条路最近。
- 帮助接收方正确还原整个信息:接收方看到每个包的编号和顺序,就能把它们重新拼回去。
加上首部就像是给每一个数据包贴上“快递单”,虽然多花了点空间,但它让网络知道这个包是谁发的、要发给谁、该怎么走,是实现智能高效通信的关键。
在上例中,主机H6将所构造出的各分组依次发送出去,各分组经过途中各分组交换机的存储转发,最终到达主机H2,主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。
PS: 与分组交换类似,报文交换(Message Switching)中的交换节点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要有较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
6.3 三种交换方式的对比
假设A,B,C,D是分组传输路径上所要经过的4个结点交换机, 纵坐标是时间。
-
对于电路交换,通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送;数据传送结束后,需要释放连接,以归还之前建立连接所占用的通信线路资源。
-
对于报文交换,可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机,
-
对于分组交换,可以随时发送分组,而不需要事先建立连接。构成原始报文的个个分组依次在各结点交换机上存储转发,各结点交换机在发送分组的同时,还缓存接收到的分组。
当使用电路交换时,一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点;使用报文交换时,整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间;使用分组交换时,构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
6.3.1 电路交换的特点
特点 | 优点 | 缺点 | 通俗解释 |
---|---|---|---|
通信时延小 | 数据传输快速直达,减少等待时间 | 需要先建立连接,这个过程可能耗时较长 | 想象一下打电话前需要拨号等对方接通的时间,但一旦接通,通话立刻开始。 |
有序传输 | 数据只在一条专用线路上传输,不会出现失序 | 如果线路出现问题,必须重新建立连接 | 好比你用一根管道直接把水从A点引到B点,水流顺序固定,但如果管道破裂,就得换新管道重新铺设。 |
没有冲突 | 不同用户使用不同的物理信道,不存在争用问题 | 独占资源,即使不使用时也无法让其他人使用 | 就像每家都有自己的车道,互不影响,但是如果你的车停着不用,别人也不能用你的车道。 |
适用范围广 | 既适合模拟信号也适合数字信号 | 对不同类型、规格、速率的终端兼容性差 | 无论是语音还是数据信息,都可以通过这条路传输,但如果两头设备差异大,可能会有问题。 |
实时性强 | 因为通信时延小,所以能提供较好的实时交互体验 | 当连接中的任何一部分出现问题时,整个连接失效 | 类似于直播,延迟很低,观众几乎可以即时看到主播的画面,但网络一断,直播就卡住了。 |
控制简单 | 结点交换机及其控制机制相对简单 | 灵活性差,难以适应复杂多变的需求 | 操作简单如同开关灯一样,但面对复杂的照明需求(比如调光),这种简单的开关就不够用了。 |
灵活性差 | 只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接。 | 如果途中某段路突然施工不能走了,你就得重新规划路线并再次出发。 | |
难以规格化 | 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信。 | 就像是老式电话只能用来打电话,不能上网或者视频聊天。 |
6.3.2 报文交换的特点
特点 | 优点 | 缺点 | 通俗解释 |
---|---|---|---|
无需建立连接 | 可以随时发送报文,不需要预先建立连接 | 报文在每个结点都需要经历存储转发的过程,导致一定的延迟 | 就像你可以随时寄信,不用事先告诉邮局你要寄信,但每到一个邮局都要重新打包检查再发出去。 |
动态分配线路 | 结点交换机根据当前网络状况选择最合适的空闲线路进行传输 | 如果网络繁忙,可能会增加等待时间 | 类似于导航软件帮你选择最快路线,但如果路上车太多,可能需要重新规划路线。 |
提高线路可靠性 | 线路故障时可以自动选择其他路径重传数据 | 当前路径故障时,虽然能换路径但仍会增加传输时间和复杂性 | 像是如果一条路堵了或关闭了,你可以选择另一条路去目的地,但这可能会让你多走一段路。 |
提高线路利用率 | 不固定占用某条线路,而是在不同时间段分段占用 | 由于需要先存储后转发,这可能导致线路资源的浪费 | 比喻为共享自行车,不同时段不同的人使用同一辆自行车,提高了自行车的利用率。 |
提供多目标服务 | 一个报文可以同时发送给多个目的地址 | 实现多目标服务增加了系统复杂性和开销 | 类似于群发邮件,你可以一次将同一封邮件发送给多个收件人,但准备和发送过程可能比单发更复杂。 |
引起转发时延 | - | 报文在每个结点上都要被接收、存储然后转发,增加了传输时间 | 这就像是快递包裹在每个物流中心都要卸货检查再装车出发,导致整体送达时间延长。 |
需要较大的缓存空间 | - | 报文交换对报文大小没有限制。 | 假如你有很多大箱子要暂存在朋友家,那么朋友家就需要有足够的空间来放这些箱子。 |
额外信息量 | - | 报文需要携带源地址、目标地址等额外信息,增加了传输的数据量 | 就像是寄信时除了信纸本身,还需要写上寄件人和收件人的地址,这实际上增加了信件的总重量。 |
6.3.3 分组交换的特点
特点 | 优点 | 缺点 | 通俗解释 |
---|---|---|---|
无需建立连接 | 可以随时发送数据,不需要预先建立专用连接 | 分组在每个结点都需要经历存储转发的过程,导致一定的延迟 | 类似于微信消息,你可以随时发信息,不需要事先告诉对方你要聊天,但每条消息仍需经过服务器处理。 |
线路利用率高 | 分组可以动态选择路径,不同时间段分段占用线路资源 | - | 想象为共享汽车服务,不同的人可以在不同时间使用同一辆车,提高了车辆的利用率。 |
简化存储管理 | 因为分组长度固定,缓冲区大小也固定,使得存储管理更为简便 | - | 就像图书馆的书架,每本书的尺寸相同,这样更容易管理和查找书籍。 |
加速传输 | 分组逐个传输,后一个分组的存储与前一个分组的转发可以同时进行 | - | 类似于工厂生产线上的流水作业,一件产品的一部分工序完成后立即开始下一部分工序,提高效率。 |
减少出错概率和重发量 | 分组较小,出错几率低;即使出错也只需重传单个分组而非整个报文 | - | 假设你画了一幅大图分成小块寄给朋友,如果某一块丢失或损坏,只需要补寄这一块而不是整幅图。 |
引起转发时延 | - | 分组在每个结点上都要被接收、存储然后转发,增加了传输时间 | 这就像是快递包裹在每个物流中心都要卸货检查再装车出发,导致整体送达时间延长。 |
额外信息量 | - | 每个分组需要携带源地址、目标地址等控制信息,增加了传输的数据量 | 就像是寄信时除了信纸本身,还需要写上寄件人和收件人的地址,这实际上增加了信件的总重量。 |
失序、丢失或重复问题 | - | 对于数据报服务,分组可能到达目的节点时顺序混乱,需要重新排序 | 类似于拼图游戏,所有碎片都到齐了才能看到完整的图片,但如果收到的碎片顺序不对,就需要重新排列。 |
虚电路服务复杂性 | - | 虚电路服务虽然避免了分组失序问题,但是包括呼叫建立、数据传输和释放三个步骤,增加了复杂性 | 像是打电话前需要先拨号等待对方接听(建立连接),通话结束后还要挂断电话(释放连接)。 |
相关文章:
【计算机网络01】 网络组成与三种交换方式
【参考资料】 《自顶向下的计算机网络第八版》湖科大计算机网络(b站)王道考研(b站) 文章目录 一、网络基础概念解析1.1 网络、互联网与因特网 二、因特网发展三阶段(了解)三、ISP3.1 ISP基本概念3.2 基于I…...
计算机网络——以太网交换机
目录 交换机的作用 以太网交换机的自学习功能 因为以太网交换机有自学习功能,所以以太网交换机支持即插即用 交换机的作用 它工作在数据链路层,为结点转发帧,并且可以根据一个帧的目的MAC地址去进行相应的转发,以及交换机的每…...
机器视觉开发教程——C#如何封装海康工业相机SDK调用OpenCV/YOLO/VisionPro/Halcon算法
目录 引言前期准备Step1 创建工程Step2 创建接口2.1定义操作相机实例接口方法2.2定义设置相机参数接口方法(部分) Step3 创建基类3.1定义操作相机实例&&设置相机参数的抽象层3.2定义操作相机实例&&设置相机参数的公用方法1.获取当前帧图…...
c++STL-string的模拟实现
cSTL-string的模拟实现 string的模拟实现string的模拟线性表的实现构造函数析构函数获取长度(size)和获取容量(capacity)访问 [] 和c_str迭代器(iterator)交换swap拷贝构造函数赋值重载(&#x…...
HTTP 和 WebSocket 的区别
✅ 一、定义对比 协议简要定义HTTP一种基于请求-响应模式的、无状态的应用层协议,通常用于客户端与服务器之间的数据通信。WebSocket一种全双工通信协议,可以在客户端和服务器之间建立持久连接,实现实时、低延迟的数据传输。 ✅ 二、通信方式…...
【Tools】Visual Studio使用经验介绍(包括基本功能、远程调试、引入第三方库等等)
这里写目录标题 1. VS基本使用1.1. 快捷键1.2. 查看变量地址1.3. 查看代码汇编1.4. visual studio 热重载功能的使用1.5. vs远程服务器调试1.6. 引入第三方库VLD1.7. release debug模式 1. VS基本使用 1.1. 快捷键 ctrl c :复制光标所在行 注意:只需要光标在这…...
一周内学完计算机网络课程之二:计算机网络物理层的理解
消失人口回归,重新开始学习新知识。再次伟大。 物理层详解 需要理解的几个概念: 曼彻斯特编码、差分曼彻斯特编码 码元:构成信号的基本单元 调制: 通信中的调制是一种将原始信号(如音频、视频、数据等)转…...
Python OpenCV性能优化与部署实战指南
在计算机视觉领域,OpenCV作为开源视觉库的标杆,其性能表现直接影响着从工业检测到AI模型推理的各类应用场景。本文结合最新技术趋势与生产实践,系统性梳理Python环境下OpenCV的性能优化策略与部署方案。 一、性能优化核心技术矩阵 1.1 内存…...
深度解析:可视化如何重塑销售策略制定与执行
为什么你的销售策略总是“听起来挺对,做起来却没用”? 你有没有遇到过这样的情况: 销售团队天天跑客户,但业绩还是上不去;市场部说数据在增长,销售部却觉得“根本没转化”;高层开会时信心满满…...
opencv关键点检测
python 使用opencv进行图片关键点检测 功能: 在一张图片中裁剪出一块小图 使用cv2中 cv2.SIFT_create() SIFT检测器检测关键点 匹配原图和小图的关键点 import cv2 import numpy as np # 读取图像 img1 cv2.imread(rE:\234947.jpg, cv2.IMREAD_GRAYSCALE) img…...
C#游戏开发中的注意事项
目录 一、性能优化:提升游戏运行效率 1. 避免不必要的循环和迭代 2. 减少字符串拼接 3. 利用Unity的生命周期函数 4. 使用对象池(Object Pooling) 二、内存管理:避免内存泄漏和资源浪费 1. 及时释放非托管资源 2. 避免空引用异常 3. 合理使用引用类型和值类型 4. …...
MySQL的锁
锁 概述:锁是计算机协调多个线程或进程并发访问某一资源的机制。如何保证数据库中并发的一致性,有效性,这就是锁的作用。 分类: 全局锁 对数据库实例加锁,加锁之后,处于只读状态,后续的DML语句…...
学习黑客5 分钟小白弄懂Windows Desktop GUI
5 分钟小白弄懂Windows Desktop GUI 🖥️ 大家好!今天我们将深入浅出地探索Windows桌面图形用户界面(GUI)——这是我们每天与计算机交互的"门面"。无论你是刚开始接触计算机,还是想在TryHackMe等平台上提升安全技能,理…...
机器人运动控制原理浅析-UC Berkeley超视觉模态模型
加州伯克利发布的超视觉多感知模态融合(FuSe, Fuse Heterogeneous Sensory Data)模型,基于视觉、触觉、听觉、本体及语言等模态,利用自然语言跨模态对齐(Cross-Modal Grounding)优调视觉语言动作等通用模型,提高模型任务成功率。 总体框架 …...
【计算机网络】网络IP层
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 上篇文章:传输层协议TCP 下篇文章:数据链路层 文章摘要࿱…...
Nginx重写功能
目录 一 . 简介 二. if指令 2.1基本语法 2.2 举例说明 2.3 配置实例 三. return 3.1 基本语法 3.2 配置实例 四. set指令 4.1 基本语法 4.2 举例说明 4.3 配置实例 五.break指令 5.1 作用 5.2 举例说明 5.3 配置实例 六.rewrite指令 6.1 基本语法 6.2 配…...
2025-05-11 项目绩效域记忆逻辑管理
好的,我们可以用一个故事来帮助记忆这些规划绩效域的要素,同时通过逻辑关系来串联它们。以下是一个故事化的版本: 《项目管理的奇幻之旅》 在一个遥远的王国里,有一个勇敢的项目经理名叫小K。小K被国王赋予了一个艰巨的任务&…...
全模态具身智能:从 VLM 到 MLLM
写在前面 人工智能的感知边界正在以前所未有的速度扩展。最初,我们惊叹于大型语言模型(LLM)对文本的深刻理解和流畅生成。很快,视觉语言模型(Vision-Language Models, VLM) 登场,让 AI 第一次真正“看见”了世界,能够理解图像内容并将其与语言关联,实现了“看图说话”…...
C++入门小馆: 二叉搜索树
嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…...
C++.IP协议通信
C++IP协议通信 1. TCP协议通信1.1 服务端实现创建套接字绑定地址监听连接接受连接数据传输关闭连接1.2 客户端实现创建套接字连接服务器数据传输关闭连接1.3 示例代码服务端代码示例客户端代码示例绑定地址接收数据发送数据关闭套接字2.2 客户端实现创建套接字发送数据接收数据…...
虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框 code review! 文章目录 虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框1. 退出编辑器时弹出的“Save Content”窗口2. File 菜单中的保存选项3. 区别总结 1. 退出编辑器时弹出的“Save Content”窗口 退出时…...
【KEIL】更新AC6编译器
看过部分的文章,Arm Compiler 6(AC6)编译器,相比AC5在编译速度和代码优化上提升了。因此,笔者决定升级到AC6的最新版本。可以更新keil5到最新版本,上面集成AC6编译器的版本,与最新版相差不远。假…...
Mosquitto MQTT库实战指南
目录 1. MQTT协议简介2. Mosquitto概述3. 开源MQTT实现对比4. 为什么选择Mosquitto5. Mosquitto的交叉编译6. MQTT发布订阅实战7. 进阶应用与最佳实践8. 总结 1. MQTT协议简介 MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模式的轻…...
C语音学习---函数指针
目录 1. 函数指针解析 2. 自定义实现(函数指针赋值) 利用下面一段例子来解析: int (*set_slave)(modbus_t *ctx, int slave); 1. 函数指针解析 set_slave 是一个 函数指针,指向一个函数。 该函数接受两个参数: mo…...
04.three官方示例+编辑器+AI快速学习webgl_animation_skinning_additive_blending
本实例主要讲解内容 这个示例展示了Three.js中**骨骼动画的叠加混合(Additive Animation Blending)**技术。通过加载一个机器人模型,演示了如何在基础动画(如站立、行走、跑步)之上叠加额外的动画效果(如潜行姿态、悲伤表情、点头同意等),实现更丰富的角…...
WSL配置docker启动nacos容器load derby-schema.sql error.问题解决方案
nacos配置问题 问题再现查看错误logsQWEN的解答不挂载/data结论 问题再现 本来想要本地跑一下nacos,之前都是直接在Linux环境下面,现在就使用windows的wsl跑一下nacos,之前是需要先配置/conf文件下面的porperties文件以及构建对应的nacos-config数据库。所以我使用…...
游戏引擎学习第272天:显式移动转换
回顾并为今天的内容铺垫背景 我们刚开始为游戏主角编写一些程序逻辑,因为我们之前已经完成了大部分引擎方面的开发,现在可以专注在角色身上。这个角色的移动方式会有些特别,与大多数游戏角色的运动机制不太一样。我们当前正在实现的控制方式…...
AVL树解析
插入操作 // 插入操作 bool insert(const pair<K, V>& kv) {// 若树为空,直接构造,new一个if (_root nullptr) {_root new Node(kv);return true;}// 用于遍历树的当前节点Node* cur _root;// 用于记录当前节点的父节点Node* parent n…...
vue 中的数据代理
在 Vue 中,数据代理(Data Proxy) 是 Vue 实现 MVVM 模式 的关键技术之一。Vue 使用数据代理让你可以通过 this.message 访问 data.message,而不需要写 this.data.message —— 这大大简化了模板和逻辑代码。 我们来深入理解它的本…...
Linux共享内存深度解析:从内核机制到云原生应用
引言:超越进程边界的内存魔术 在Linux系统的进程间通信(IPC)领域,共享内存(Shared Memory)如同魔法镜子般的存在——不同进程透过它看到相同的内存镜像。这种机制摒弃了数据拷贝,直击性能瓶颈&…...
Vue Router全局拦截
Vue Router全局拦截全攻略 一、为什么需要全局拦截? 最近在开发后台管理系统时,突然发现所有页面都需要登录才能访问。如果每个页面都手动检查登录状态,那代码简直要写成意大利面条了。这时候,Vue Router的全局拦截功能就像个贴…...
从0开始学linux韦东山教程第三章问题小结(3)
本人从0开始学习linux,使用的是韦东山的教程,在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。说实在的越看视频越感觉他讲的有点乱后续将以他的新版PDF手册为中心,视频作为辅助理解的工具。参考手册为嵌入式Linux应用开发…...
【前端】【css】【总复习】三万字详解CSS 知识体系
🌈 CSS 知识体系目录大纲 一、基础知识入门 1. CSS 简介与作用 CSS(Cascading Style Sheets,层叠样式表)是一种用于给 HTML 页面添加样式的语言,作用是让网页更美观、结构更清晰、布局更灵活。 核心作用: 控制网页元素的 颜色、字体、间距、边框、背景布局网页元素位置…...
Linux 进程等待
1、进程等待 僵尸进程 是一个比较麻烦的问题,如果不对其做出处理,僵尸进程 就会越来越多,导致 内存泄漏 和 标识符 占用问题 进程一旦变成僵尸状态,那就刀枪不入,“杀人不眨眼”的kill -9 也无能为力,因为…...
轻量服务器与宝塔
因为访问宝塔面板是需要在安全组设置一下开放端口,比如这里是42450 但是我们用的轻量服务器是把安全组这种功能削减了的,所以我就去尝试修改了一下防火墙设置 然后就可以访问了...
深入理解AMBA总线(六)AHB-lite Slave响应和其它控制信号
上一篇文章给大家介绍了AHB-lite的一些控制信号,重点是通过这些控制信号去理解AHB-lite为什么这么设计,采用这些控制信号有什么好处。这节课给大家带来剩余的一些控制信号介绍。 ** 1、Slave Response Signaling ** 1.1、Slave Transfer Responses …...
app加固
1、什么是加固? 我们之前讲的逆向,大多数都是用加密算法去加密一些明文字符串,然后把得到的结果用 Base64、Hex等进行编码后提交。加固其实也一样,只不过他通常加密的是 dex文件而已。但是 dex 文件加密以后,安卓系统是没法直接运行的。所以加固的核心&…...
Linux架构篇、第三章_2_Linux服务器监控与NGINX优化
Linux_架构篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目: 版本号: 1.0,0 作者: 老王要学习 日期: 2025.05.11 适用环境: Centos7 文档说明 本文围绕 Linux 服务器监控与 NGINX 优化展开。介绍了 sysst…...
第26节:卷积神经网络(CNN)-数据增强技术(PyTorch)
1. 引言 在深度学习领域,数据增强(Data Augmentation)是提升卷积神经网络(CNN)性能的关键技术之一。通过人为地扩展训练数据集,数据增强能够有效提高模型的泛化能力,防止过拟合,特别是在训练数据有限的情况下。本文将全面介绍PyTorch框架下的数据增强技术,包括基本原理、…...
架构思维:通用架构模式_怀疑下游的设计思路与最佳实践
文章目录 1. 引言2. 为什么要“怀疑下游”3. 三大类下游依赖及应对方案3.1 对其他微服务的依赖3.1.1 分布式事务简易补偿方案3.2 对数据库的依赖3.3 对消息中间件的依赖 4. 分布式事务实战案例5. 小结 1. 引言 在 架构思维:通用架构模式_从设计到代码构建稳如磐石的…...
[Java实战]Spring Boot 中Starter机制与自定义Starter实战(九)
[Java实战]Spring Boot 中Starter机制与自定义Starter实战(九) 引言 Spring Boot 的 Starter 是其“约定优于配置”理念的核心体现,通过简化依赖管理和自动配置,极大提升了开发效率。本文将深入剖析 Starter 的设计思想、实现原…...
C++23 views::repeat (P2474R2) 深入解析
文章目录 引言C20 Ranges库回顾什么是Rangesstd::views的作用 views::repeat概述基本概念原型定义工作原理应用场景初始化容器模拟测试数据 总结 引言 在C的发展历程中,每一个新版本都会带来一系列令人期待的新特性,这些特性不仅提升了语言的性能和表达…...
【第三十五周】Janus-pro 技术报告阅读笔记
Janus-Pro 摘要Abstract文章信息引言方法Janus 架构Janus 训练Janus-Pro 的改进 实验结果总结 摘要 本篇博客介绍了Janus-Pro,这是一个突破性的多模态理解与生成统一模型,其核心思想是通过解耦双路径视觉编码架构解决传统方法中语义理解与像素生成的任务…...
基于Qt的app开发第七天
写在前面 笔者是大一下计科生,标题这个项目是笔者这个学期的课设,与学长共创,我负责客户端部分,现在已经实现了待办板块的新建、修改。 这个项目目前已经走上正轨了,博主也实现了主要功能的从无到有ÿ…...
第二十二节:图像金字塔-拉普拉斯金字塔
在数字图像处理的奇幻世界中,存在着一种能够连接不同视觉维度的神秘阶梯——图像金字塔。这种独特的结构让计算机视觉算法能够在不同尺度下观察和理解图像特征,而其中的拉普拉斯金字塔更是隐藏着图像细节重构的终极奥秘。 一、金字塔的数学基础:从高斯到拉普拉斯 1.1 高斯金…...
Flutter基础()
导航栏 appBar: AppBar() title: const Text(搜索) //标题 backgroundColor: Colors.blue //背景颜色 centerTitle: true //标题居中leading 属性 作用: 放置在应用栏左侧的控件,通常是一个图标按钮,用于导航或打开菜单。 AppBar(le…...
ES面试题系列「一」
1、Elasticsearch 是什么?它与传统数据库有什么区别? 答案:Elasticsearch 是一个基于 Lucene 的分布式、开源的搜索和分析引擎,主要用于处理大量的文本数据,提供快速的搜索和分析功能。与传统数据库相比,E…...
Oracle 通过 ROWID 批量更新表
Oracle 通过 ROWID 批量更新表 在 Oracle 数据库中,使用 ROWID 进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销。 ROWID 基本概念 ROWID 是 Oracle 数据库中每一行的唯一物理地址标识符ÿ…...
罗技无线鼠标的配对方法
罗技鼠标的配对方法: 重新连接鼠标 请按照以下步骤将鼠标与 USB 接收器重新配对。 1.将USB接收器插入计算机。 2.将鼠标关闭电源。 3.按住并持续按住向右按钮,直到操作结束。 4.切换鼠标电源。 5. 单击一次左侧按钮。 6. 单击一次中间按钮。 7.全部松开&…...
移动应用开发的六大设计原则
在移动应用开发中,遵循设计原则能大幅提升代码的可维护性和扩展性。本文以一个简单的学生管理系统为例,解析六大核心设计原则的实践方法。 1. 单一职责原则 优点: 提高可维护性:一个类只负责一项职责,代码的功能会更…...