【计算机网络原理】初识网络原理和一些名词解释
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱
ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客
本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶
个人主页:xiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客系列专栏:xiaoxie的计算机网络学习系列专栏——CSDN博客●'ᴗ'σσணღ
我的目标:"团团等我💪( ◡̀_◡́ ҂)"( ⸝⸝⸝›ᴥ‹⸝⸝⸝ )欢迎各位→点赞👍 + 收藏⭐️ + 留言📝+关注(互三必回)!
目录
编辑 一.网络初识
1.核心概念
1.局域网 vs 广域网
1.连接方式
2.传输速度
3.IP地址
2.路由器 vs 交换机
1.交换机:
3.IP地址 vs 端口号
1.IP地址:
2.端口号:
4.协议
1.协议分层
2.协议分层的好处
1.起到了封装的效果
2.解耦合的效果
5.OSI七层模型 vs TCP / IP 五层/四层 模型
6.协议的层与层之间是如何配合工作的.
1.封装
1.应用层
2.传输层
3.网络层
4.数据链路层
5.物理层
2.分用 (B)
1.物理层
2.数据链路层
3.网络层
4.传输层
5.应用层
一.网络初识
1.核心概念
1.局域网 vs 广域网
- 局域网 (LAN):范围相对较小,通常局限在一个小的区域内,如办公室、学校、家庭或一个园区内,最大距离一般不超过几千米。局域网的设计目的是为了在近距离内实现高速数据传输和资源共享。
- 广域网 (WAN):覆盖范围广泛,可以跨越城市、国家乃至全球。广域网连接不同地理位置的局域网,使得这些分散的网络能够相互通信,其距离可以达到数千公里。
1.连接方式
- 局域网:主要通过以太网线、Wi-Fi 或其他短距离无线技术连接,使用交换机作为中心节点来连接网络中的设备。
- 广域网:通过路由器将多个局域网连接起来,利用电话线、光纤、卫星、微波等长距离传输技术。
2.传输速度
- 局域网:由于距离短,通常提供更快的数据传输速率,例如100Mbps至10Gbps或更高。
- 广域网:由于传输距离远,数据传输速率通常较慢,虽然现代技术如光纤可以提供高速率,但整体上仍不如局域网快。
3.IP地址
- 局域网:使用私有IP地址空间,可以在不同局域网内部重复使用。通过NAT(网络地址转换)技术访问互联网。
- 广域网:每台直接连接到广域网的设备都需要一个全局唯一的公有IP地址以便在互联网上识别和通信。
2.路由器 vs 交换机
1.交换机:
- 主要工作在数据链路层(OSI模型的第二层),用于局域网(LAN)内部的设备连接。
- 通过学习连接设备的MAC地址来进行数据帧的转发,使不同设备之间可以高效地通信。
- 交换机可以分割冲突域,但传统的交换机不能分割广播域,意味着广播信息会在同一广播域内传播。
- 适用于构建和管理一个网络内的直接连接,提高局域网内部数据传输速度。
2.路由器:
- 工作在网络层(OSI模型的第三层),不仅连接局域网,还能连接广域网(WAN),实现不同网络之间的通信。
- 使用IP地址来决定数据包的最佳路径,从而转发到目标网络或设备,支持更复杂的路由策略和过滤功能。
- 能够分割广播域,防止广播风暴,这对于大型网络管理至关重要。
- 提供诸如网络地址转换(NAT)、防火墙过滤等高级功能,有助于网络安全和外网访问控制。
- 通常用在需要连接到互联网或者连接不同子网的场合。
总结来说,交换机专注于提升局域网内部的数据交换效率,而路由器则负责在不同网络之间引导数据包,实现更广泛的网络互连与通信。
3.IP地址 vs 端口号
1.IP地址:
- 是互联网协议(IP)用于标识网络中每台设备的唯一地址,如同设备在网络世界中的“门牌号”。
- 它确保了数据可以从源设备发送到目标设备,无论这两台设备位于世界哪个角落。
- IP地址分为IPv4(32位,常用点分十进制表示)和IPv6(128位,用冒号分隔的十六进制数表示)两种版本。
- 每个IP地址包含网络部分和主机部分,帮助路由器判断数据包的传输路径。
2.端口号:
- 是应用层的标识符,用于标识在同一台设备上运行的不同网络服务或应用程序。
- 它使得数据包在到达目标设备后,能被正确地导向到相应的服务或应用程序,就好比是设备内的“部门编号”。
- 端口号是16位的数字,范围从0到65535,其中0-1023是系统保留端口,通常分配给标准服务(如HTTP使用80端口,HTTPS使用443端口)。
- 动态或私有端口范围(大于1023)可用于任意应用程序,以避免端口冲突。
结合IP地址和端口号,形成了所谓的“套接字”(Socket),这是网络通信中用于标示服务访问点的唯一组合,确保了数据能够准确无误地送达互联网上的特定服务或应用程序。
4.协议
简单解释就是,通信的双方互相约定好的一种通信规则,这样的规则就可以称之为协议,它定义了数据如何格式化、如何传输、如何被接收方解析以及如何响应等细节,无论通信的对象有多少个,都互相遵守的规则,同时,注意在通信的时候,必须要有协议,这样即使通信的双方的主机设备不同,硬件不同,应用程序不同,操作系统不同等等,都可以进行通信.
1.协议分层
进行网络通信是一件非常复杂的事,其中涉及到很多的细节问题,如果你就使用一种网络协议来约定其中所有的细节,这个协议就会十分复杂,所以基于这个理论,就衍生出了协议分层这个概念.所以我们可以把一个复杂的协议分成许多个功能单一的协议,再把这些拆分的协议根据,它们的功能,分类,组织起来.
举一个小栗子:
在大公司中,有许多的员工,以及许多的岗位,那老板该如何去管理他们呢,是不是应该根据不同的层级,上层管理下层,这样老板只需要管理他的下一层即可.这样即使人很多也可以很好的运营这个公司了,简单画个图表示一下
协议分层也是类似的效果,把一堆拆分的协议,按照功能分成不同的层级,每一个层级都有对应的任务/解决的问题,上层协议调用下层协议的功能,下层协议为上层协议提供服务.这种分层使得各部分可以独立设计、开发和故障排查,同时也便于升级和扩展,大大简化了复杂网络系统的管理和维护。即使人员(或设备)众多,通过这样的层级划分,整个系统也能高效有序地运行。
2.协议分层的好处
1.起到了封装的效果
在协议分层中,每一层都封装了自己的实现细节,只向上一层提供服务。这样,每一层可以独立于其他层进行开发和维护,而不需要关心下层的具体实现
举个小栗子:
想象一下,你买了一台微波炉。你不需要知道微波炉是如何加热食物的,也不需要了解它的内部电路和机械部件是如何工作的。你只需要知道如何设置时间和功率,然后按下启动按钮。这里,微波炉的制造商将复杂的加热机制封装在用户界面后面,用户只需要通过简单的操作界面与之交互。
类比:这就像网络协议中的应用层,用户(应用层)不需要了解下层(如传输层、网络层等)是如何工作的,只需要通过提供的接口(如API)来发送和接收数据。
2.解耦合的效果
协议分层减少系统中各个部分之间的依赖关系,使得系统的一个部分的变化不会影响到其他部分。在协议分层中,由于每一层都独立于其他层工作,因此可以单独修改或替换某一层,而不会影响到整个系统的其他部分。
举个小栗子:
再想象一下,你正在使用一个快递服务来寄送包裹。快递公司可能会更改他们的内部物流流程,比如从使用卡车运输改为使用无人机。作为客户,你不需要关心这些变化,你只需要知道你可以继续使用这项服务来寄送包裹。
类比:这类似于网络协议中的不同层之间的解耦合。如果你的应用层(比如一个网页浏览器)需要从HTTP切换到HTTPS,这个改变主要发生在应用层和传输层之间,而网络层和数据链路层可以保持不变,因为它们只负责传输数据包,而不关心数据的安全协议
5.OSI七层模型 vs TCP / IP 五层/四层 模型
-
应用层 (Application Layer):
- 作用:为应用软件提供网络服务。这一层负责处理网络应用程序的具体功能,如电子邮件、文件传输、网页浏览等。
- 例子:HTTP(网页)、SMTP(邮件)、FTP(文件传输)、DNS(域名解析)。
-
传输层 (Transport Layer):
- 作用:负责在网络中两个节点之间提供可靠的数据传输服务。这一层定义了两个主机间进行会话的规则,如TCP(传输控制协议)提供可靠的连接,而UDP(用户数据报协议)提供较快但不保证可靠性的连接。
- 例子:TCP(确保数据包顺序和完整性)、UDP(快速但不保证顺序或完整性)。
-
网络层 (Network Layer):
- 作用:负责数据包从源到宿的传递和路由选择。这一层处理数据包在整个互联网中的寻址和路由问题。
- 例子:IP(互联网协议),负责将数据包从源地址路由到目的地址。
-
数据链路层 (Data Link Layer):
- 作用:在相邻的网络节点之间提供数据传输,处理MAC(媒体访问控制)地址,确保数据在局域网内的可靠传输。
- 例子:以太网、Wi-Fi,它们定义了如何在物理媒介上编码和传输数据。
-
物理层 (Physical Layer):
- 作用:处理通过物理媒介传输数据的技术细节,如电缆的电气特性、无线信号的传输方式等。
- 例子:RJ45以太网接口、光纤、无线电波,这些都是物理层关心的传输介质。
每一层都为上一层提供服务,同时依赖下一层来完成其功能。数据在发送时从高层向低层传递,每一层为其添加必要的信息(如头部信息),在接收时则从低层向高层传递,每一层去除对应的头部信息,直至最终到达目标应用程序。这种分层的设计使得网络通信更加模块化,易于理解和维护
注意这里的 TCP / IP 五层/四层 模型 的区别就是是否把物理层和数据链路层看成网络接口层,所以也不好说明哪一个是对的,都记住就好.
6.协议的层与层之间是如何配合工作的.
总结来说就是上层协议调用下层协议的功能,下层协议为上层协议提供服务,就是一个封装和分用的过程,这里通过一个例子来讲解封装和分用的过程
假如 A 使用 微信 发送信息给 B.我们就通过这个我们日常生活中看似很简单,但其实里面涉及的网络通信原理却十分复杂的过程来讲解封装和分用的过程
1.封装
前提A给B发送"hello" 这个信息,A的账号为 123 B的账号为 456 发送时间为21:00
1.应用层
这里我们就假定微信的应用层协议(数据的格式)为一个字符串,里面主要存储了四个信息,分别是,发送人账号,接收人账号,发送时间,发送的内容,通过 , 来分割信息,并且在结尾以 \n 为标识
实际上微信的应用层协议肯定更复杂, 这样应用层就把这个数据进行了封装,之后通过调用系统API,把数据传输给传输层.
2.传输层
传输层接收到应用层传输过来的数据之后,就会根据传输层上的协议对数据进行封装,例如传输层上典型的传输层协议 TCP / UDP 协议 ,这里我们以UDP协议作为传输层的协议.
UDP协议,会给数据添加一个报头将数据分成两部分,一部分为报头,一部分为载荷
其中报头里存储的是UDP的一些属性信息,载荷中就是传输的数据
这样传输层就对数据进行了封装 ,之后通过调用系统API,把数据传输给网络层
3.网络层
典型的协议 IP协议,通过IP协议对数据进行封装
其中IP报头就包含了接收方的IP地址和发送方的地址,同时调用数据链路层的API,也就是网卡,传输到数据链路层中,进行进一步的封装
4.数据链路层
使用以太网协议
将以太网数据帧通过网卡,发送到物理层
5.物理层
此时的以太网数据帧,本质上就是0/1的二进制数据了,硬件设备,把这些二进制数据转化为,电信号,光信号,电磁波等等,传输给B.
上述过程就是封装,层层对数据进行包装.
2.分用 (B)
1.物理层
收到一系列光电信号,把这些信号转成 0101 二进制数据, 交给 数据链路层
2.数据链路层
按照以太网协议,对数据进行解析(解析报头中的关键信息,为后续的传输/转发打下基础,还需要拿到载荷数据)
解析出来的载荷数据,是要交给上层(网络层)
3.网络层
IP 协议拿到了 IP 数据包,按照协议格式进一步解析,解析报头中的关键信息, 取出载荷.
解析出来的载荷数据传输给上一层(传输层)
4.传输层
拿着 UDP 数据包,按照 UDP 格式进一步解析,解析出关键的信息 (要交给哪个端口号对应的进程),以及解析出载荷数据
解析出来的载荷数据传输给上一层(应用层)
5.应用层
微信 程序拿到了应用数据包. 根据应用层协议按照自己的协议格式,进行解析,拿到这里的结构化数据, 显示到界面上 ->反序列化.这样B就接收到了A发送的信息了.
注意:
中间的路由器, 交换机,也要进行封装分用.也是上述过程.
只不过,交换机,封装分用到 数据链路层,即可知道下一步如何转发.(工作在数据链路层)
路由器,封装分用到,网络层,即可知道下一步如何转发,(工作在网络层)
同时分用时,操作系统会根据数据包上的报头,了解到封装时各层使用了具体的什么协议,这一点很重要.
以上就是封装分用过程了,我们还可以用网购时商家对快递的包装,和我们拆快递的过程来简单解释一下封装分用的过程
-
封装过程: 想象你在网上购买了一件商品,商家需要将商品安全地包装好,以便快递公司能够将它安全地送到你手中。在这个过程中,商家会做以下几步:
- 商品本身(相当于应用层的数据):这是你要购买的物品,比如一件衣服。
- 包装(相当于传输层):商家会将衣服放入一个盒子,并确保它不会因为运输途中的颠簸而损坏。如果商家使用的是可靠的快递服务(类似TCP协议),那么他们可能会添加额外的保护层,如泡沫或气泡膜,以确保衣服在运输过程中不会受损。
- 地址标签(相当于网络层):商家会在盒子上贴上一个标签,上面写着你的地址(目的IP地址)和他们商店的地址(源IP地址),这样快递公司就知道这个包裹应该送往哪里。
- 运输包装(相当于数据链路层):为了确保包裹在运输过程中的完整性,商家可能还会在外层加上一个防水袋或额外的保护层。
- 物理运输(相当于物理层):最后,包裹被装上卡车或飞机,通过物理运输方式送到你所在的城市。
-
分用过程: 当你收到包裹时,你会执行相反的操作来获取商品,这个过程就是分用:
- 物理运输(物理层):包裹首先通过卡车或飞机运输到达你所在的城市。
- 运输包装(数据链路层):快递公司将包裹从运输工具上卸下,并确保包裹在送达前没有受损。
- 地址标签(网络层):快递公司根据包裹上的地址标签,决定如何将包裹送到你的地址。
- 拆包装(传输层):你收到包裹后,会拆除最外层的包装,比如防水袋,然后是商家添加的保护层。
- 取出商品(应用层):最后,你打开盒子,取出你购买的衣服,这时候你得到了原始的商品,即应用层的数据。
通过这个例子和上述的微信接收信息的例子,我们可以看到,封装是将数据和必要的控制信息组合在一起,以便安全地在网络中传输。而分用则是接收端将这些数据和控制信息分开,提取出原始数据供应用程序使用。这个过程确保了数据的完整性和正确性,无论数据在网络中经过了多么复杂的路径。
以上就是关于计算机网络的初步认识了,这些知识点虽然比较繁琐,但只要你能够理解下来的话,相信这些知识还是比较容易的,理解这些知识对后续的学习,也会有很大的帮助,同时提醒一句计算机网络在我们今后的工作中是非常常用的,这方面的知识也算是作为一名程序猿的基本功了,基本功不牢,地动山摇,好了就啰嗦这么多,感谢你的阅读,祝你一天愉快.
相关文章:

【计算机网络原理】初识网络原理和一些名词解释
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…...

车载电子电器架构 —— 关于bus off汇总
车载电子电器架构 —— 关于bus off汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明…...
Linux函数
目录 一、脚本函数 1.1 创建函数 1.2 使用函数 二、函数返回值 2.1 默认的退出状态码 2.2 使用return命令 2.3 使用函数输出 三、在函数中使用变量 3.1 向函数传达参数 3.2 在函数中处理变量 四、数组变量和函数 4.1 向函数中传递数组 4.2 从函数中返回数组 五、函数…...

如何查看centos7中Java在哪些路径下
在 CentOS 7 上,你可以通过几种方式查找安装的 Java 版本及其路径。以下是一些常用的方法: 1. 使用 alternatives 命令 CentOS 使用 alternatives 系统来管理同一命令的多个版本。你可以使用以下命令来查看系统上所有 Java 安装的配置: su…...

信息安全-古典密码学简介
目录 C. D. Shannon: 一、置换密码 二、单表代替密码 ① 加法密码 ② 乘法密码 ③密钥词组代替密码 三、多表代替密码 代数密码 四、古典密码的穷举分析 1、单表代替密码分析 五、古典密码的统计分析 1、密钥词组单表代替密码的统计分析 2、英语的统计规…...
面试题 01.05. 一次编辑
字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: 输入: first "pale" second "ple" 输出: True示例 2: 输入: first &qu…...

针对头疼的UDP攻击如何定制有效的防护措施
分布式拒绝服务攻击(Distributed Denial of Service)简称DDoS,亦称为阻断攻击或洪水攻击,是目前互联网最常见的一种攻击形式。DDoS攻击通常通过来自大量受感染的计算机(即僵尸网络)的流量,对目标…...

怎么制作流程图?介绍制作方法
怎么制作流程图?在日常生活和工作中,流程图已经成为我们不可或缺的工具。无论是项目规划、流程优化,还是学习理解复杂系统,流程图都能帮助我们更直观地理解和表达信息。然而,很多人可能并不清楚,其实制作流…...

棱镜七彩参编《网络安全技术 软件供应链安全要求》国家标准发布
据全国标准信息公共服务平台消息显示,《网络安全技术 软件供应链安全要求》(GB/T 43698-2024)国家标准已于2024年4月25日正式发布,并将于2024年11月1日正式实施。棱镜七彩作为主要编制单位之一参与该国家标准的编制,为…...

Keepalived实现LVS高可用
6.1 KeepalivedLVS集群介绍 Keepalived和LVS共同构建了一个高效的负载均衡和高可用性解决方案:LVS作为负载均衡器,负责在集群中的多个服务器间分配流量,以其高性能和可扩展性确保应用程序能够处理大量的并发请求;而Keepalived则作…...
【力扣】1089.复写零
原题链接:. - 力扣(LeetCode) 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不…...
Golang实践录:gin框架使用自定义日志模块
本文介绍在 Golang 的 gin 框架中使用自定义日志模块的一些方法。 背景 很早之前就实现并使用了自己封装的日志模块,但一直没有将gin框架内部的日志和日志模块结合。gin的日志都是在终端上打印的,排查问题不方便。趁五一假期,集中研究把此事…...
Django之配置数据库
一,创建项目 二,将项目的setting.py中的 DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db.sqlite3,} }替换成如下(以mysql为例) DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: …...
Ajax 笔记02
01 jq中的ajax方法中的dataType属性 dataType属性的属性值有以下几种: xml 返回数据按照xml解析 json 返回的数据按照json代码解析 script 返回的数据按照js代码解析 text 把返回的数据按照普通文本解析 jsonp 跨域 json: javascript object notation(js对象简谱) json整体…...
【隧道篇 / WAN优化】(7.4) ❀ 03. WAN优化的原理 ❀ FortiGate 防火墙
【简介】相信对WAN优化感兴趣的人都会有疑问,WAN优化真的有作用吗?如果真的有作用,那是根据什么原理呢?让我们来更深入的了解一下。 客户端和服务器端 其实很多人在一开始看到WAN优化这个词,就自然的以为上网速度太慢&…...

网络爬虫概述与原理
网络爬虫概述与原理 网络爬虫简介狭义上理解功能上理解常见用途总结 网络爬虫分类通用网络爬虫聚焦网络爬虫增量网络爬虫深度网络爬虫 网络爬虫流程网络爬虫采集策略深度有限搜索策略广度优先搜索策略 网络爬虫简介 通过有效地获取网络资源的方式,便是网络爬虫。网…...

可视化实验三 Matplotlib库绘图及时变数据可视化
1.1 任务一 1.1.1 恢复默认配置 #绘图风格,恢复默认配置 plt.rcParams.update(plt.rcParamsDefault)#恢复默认配置 或者 plt.rcdefaults() 1.1.2 汉字和负号的设置 import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"]"SimH…...
开启多线程下变量共享与私有问题
开启多线程下变量共享与私有问题 🌵ThreadLocal和Atomic是Java中用于多线程编程的两个重要工具。 ThreadLocal是一个线程局部变量,它为每个线程提供了独立的变量副本,确保每个线程都可以访问自己的变量副本而不会影响其他线程的变量。在多线…...

Qt模型视图代理之QTableView应用的简单介绍
往期回顾 Qt绘图与图形视图之绘制带三角形箭头的窗口的简单介绍-CSDN博客 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍-CSDN博客 Qt模型视图代理之QTableView应用的简单介绍 一、最终效果 二、设计思路 这里…...

第七届精武杯部分wp
第一部分:计算机和手机取证 1.请综合分析计算机和手机检材,计算机最近一次登录的账户名是 答案:admin 创建虚拟机时直接给出了用户名 2. 请综合分析计算机和手机检材,计算机最近一次插入的USB存储设备串号是 答案:…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

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

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...