计算机网络三张表(ARP表、MAC表、路由表)总结
参考:
网络三张表:ARP表, MAC表, 路由表,实现你的网络自由!!_mac表、arp表、路由表-CSDN博客
网络中的三张表:ARP表、MAC表、路由表
首先要明确一件事,如果一个主机要发送数据,那么必然要先在该主机所在的局域网内流动起来:如果源ip和目标ip处于同一网段,那么就直接在局域网内发送即可,不必先去找到路由器;只有需要将数据发往外网时,才需要通过路由器,也就是说,如果源ip和目标ip不在同一网段,那么第一步就直接去找路由器即可。其实,不管是找另一台主机还是路由器,首先都是处于一个局域网内,不管需不需要发往外网,都需要先经过当前局域网。
从一个局域网到另一个局域网
接下来分别看看这几张表是干嘛的。
ARP 表
ARP表示例
ARP 表即 ARP 缓存表,是用于存储 IP 地址和对应的 MAC 地址之间映射关系的表格。
ARP 表中的每个表项包含两部分信息:IP 地址和对应的 MAC 地址。通常是一个关联数组,以 IP 地址作为键,对应的 MAC 地址作为值,常见的实现方式包括数组、哈希表等。
我们在应用层进行socket编程时,会指定目标的ip和端口,这样,运输层和网络层就会分别对端口和ip进行封装,但是到了链路层,我们要封装源MAC和目标MAC,源MAC可以本机获取,不过我们并没有指定目标MAC,因为局域网内的转发依靠的是MAC地址,所以,必须要获取目标主机的MAC地址,这种情况下,怎么才能知道目标主机的MAC地址呢?
PS:我们这里说的“主机”,可以直接当做网络适配器,也就是网卡来看待,收发网络数据的实体其实就是网卡,MAC地址的唯一性就是跟网卡对应的。
ARP 表中的作用就是解决 IP 地址和 MAC 地址之间的映射关系:在网络通信过程中,当主机需要与其他设备通信时,会根据目标 IP 地址在 ARP 表中查找对应的 MAC 地址,然后使用该 MAC 地址进行数据包的发送。
当然,如果 ARP 表中没有对应的 MAC 地址,则在局域网内通过发送 ARP 请求广播来获取。当主机 A 需要发送数据给主机 B 时,若主机 A 的 ARP 表中没有主机 B 的 MAC 地址,它会发送一个 ARP 请求广播包,该包内含有主机 A 自己的 IP 地址和 MAC 地址,以及目标主机 B 的 IP 地址。局域网内的其他主机都会接收到这个 ARP 请求包,但只有主机 B 会回复一个 ARP 应答包,其中包含了自己的 IP 地址和 MAC 地址。主机 A 收到 ARP 应答包后,将主机 B 的 IP 地址和 MAC 地址添加到自己的 ARP 表中。
ARP 表项会根据一定的策略进行更新和维护。例如,当主机发送 ARP 请求并收到应答后,会更新或添加相应的表项;如果一段时间内没有使用某个表项,可能会将其删除。
有了 ARP 表,主机可以在本地快速查找到目标设备的 MAC 地址,而不需要每次都发送 ARP 请求广播,减少了网络中的广播流量,提高了数据传输的速度和网络的整体效率。
MAC表
MAC表示例
MAC 表即 MAC 地址表,是网络设备中用于存储 MAC 地址与接口对应关系的数据表。以下是关于 MAC 表的详细介绍:
基本概念
在以太网等局域网环境中,每个网络设备都有一个唯一的 MAC 地址,类似于设备的 “身份证号码”。当设备之间进行通信时,数据包会根据目的 MAC 地址被发送到目标设备。而 MAC 表就是帮助网络设备快速找到目标设备 MAC 地址对应的接口,从而实现数据的高效转发。
建立过程
初始状态:当交换机刚刚启动时,它的 MAC 地址表是空的。
学习过程:当交换机从某个端口收到数据帧时,会读取数据帧中封装的源 MAC 地址信息,并将该 MAC 地址与接收数据帧的端口对应起来,记录在 MAC 地址表中。如果收到的数据帧的目的 MAC 地址在 MAC 表中已经存在,交换机就会根据表中的对应关系,直接将数据帧从相应的端口转发出去;如果目的 MAC 地址不在 MAC 表中,交换机就会将该数据帧向除了接收端口之外的所有端口进行转发,这个过程称为泛洪。随着网络中设备之间的通信不断进行,交换机逐渐学习到更多设备的 MAC 地址和对应的端口,MAC 地址表也就不断地完善。
作用
提高转发效率:通过查找 MAC 地址表,交换机可以快速确定数据帧应该从哪个端口转发出去,避免了对同一局域网中的所有设备都进行广播,大大减少了网络中的冗余流量,提高了数据传输的效率。
实现定向传输:使得交换机能够根据数据帧中的目的 MAC 地址,准确地将数据帧发送到目标设备所在的端口,实现了数据的定向传输,保证了数据能够正确地到达目标设备。
类型
静态 MAC 表项:由网络管理员手工配置,将特定的 MAC 地址与某个接口绑定在一起。这种配置方式可以保证某些重要的设备或用户始终能够通过固定的接口进行通信,增加了网络的安全性和可控性。例如,在企业网络中,为了防止非法用户接入服务器,可以将服务器的 MAC 地址配置为静态 MAC 表项。
动态 MAC 表项:由交换机通过自动学习的方式建立,即交换机在接收到数据帧时,根据源 MAC 地址和接收端口的对应关系自动生成 MAC 表项。动态 MAC 表项会随着网络中设备的连接和通信情况而不断变化。
综上所述,MAC表作为网络设备的核心组件之一,对于提升网络性能、保障网络安全以及实现高效的网络通信至关重要。
MAC 表主要存在于链路层设备上,如交换机、网桥等。以下是具体介绍:
交换机:
交换机是局域网中的核心设备之一,其主要工作在数据链路层。它通过记录端口所连接设备的源 MAC 地址和端口对应关系来建立 MAC 地址表,从而实现数据帧的快速转发。当交换机接收到一个数据包时,会查找数据包中的目标 MAC 地址,并在 MAC 地址表中查找相应的条目。如果找到了匹配,交换机就知道应该将数据包发送到与目标 MAC 地址关联的相应物理端口;如果找不到匹配,交换机会将数据包广播到所有连接的端口,以确保目标设备能够接收到。通过维护 MAC 地址表,交换机可以提高局域网中数据包的传输效率,避免将数据包发送到不必要的端口,从而优化网络性能。
网桥:
网桥也是一种常见的链路层设备,它的工作原理与交换机类似,也是通过学习来自不同物理端口的 MAC 地址,并在其内部维护一个 MAC 地址表来进行数据帧的转发决策。当网桥接收到一个数据帧时,它会查找数据帧中的目标 MAC 地址,并检查 MAC 地址表以确定应该将数据帧转发到哪个物理端口。如果目标 MAC 地址在表中,网桥知道该数据帧只需在特定端口转发;如果目标 MAC 地址不在表中,网桥会将数据帧广播到所有其他端口,以确保目标设备能够接收到。
总之,MAC表作为链路层设备的核心组件,对于提升网络性能、保障网络安全以及实现高效的网络通信至关重要。
路由表
简易路由表示例
可以看到,路由表的目标是网络号,而不会管主机号,只有到了目标网络之后,才会在目标局域网内根据目标ip去找到目标MAC,然后找到对应的主机。
一个局域网如果想要把数据发往另一个局域网,那么就需要经过若干级路由,在路由过程中,到达目标局域网之前,数据会通过存储转发等策略在不同路由器上一直向前发送。
路由表是路由器或其他联网设备中存储路由信息的电子表格或类数据库,以下是关于它的详细介绍:
基本概念
在计算机网络中,路由表用于指导数据包的转发路径选择,它记录了去往不同目的 IP 地址或网络的下一跳信息、出接口等关键内容,类似于人们出行时所依赖的地图或导航系统。
主要作用
路径决策:当路由器接收到一个数据包时,它会解析出数据包的目的 IP 地址,然后根据路由表中的信息,按照一定的规则和算法,如最长掩码匹配原则,找到与目的 IP 地址最匹配的路由条目,从而确定数据包的转发路径。
数据转发:通过查找路由表,路由器能够将数据包准确地发送到下一个路由器或目标主机,确保数据包在网络中的正确传输,实现不同网络之间的通信。
常见类型
静态路由表:由系统管理员手动配置,明确了数据包到达目的地所需经过的固定路径,不会随网络结构的变化而自动改变。适用于网络拓扑结构简单、稳定,且无需频繁调整路由的情况。
动态路由表:由路由器根据网络系统的运行情况和路由协议自动学习和调整。路由器会定期交换路由信息,更新路由表,以适应网络拓扑的变化,如链路故障、新设备的加入等。常见的动态路由协议有 RIP、OSPF、BGP 等。
主要内容
目的网络/掩码:也称为路由前缀,用于标识 IP 包的目的地址或目的网络。一个路由条目通常包含网络地址和子网掩码,两者共同确定了目的主机或路由器所在的网段。
下一跳:指数据包从当前路由器转发到下一个路由器的 IP 地址。当下一跳字段代表路由器时,其值为路由的 IP 地址;如果是直连网络,则下一跳为对应的接口。
出接口:说明 IP 包将从该路由器的哪个接口转发出去。
协议类型:表示该路由条目是通过何种路由协议学习到的,如直连路由、静态路由、RIP、OSPF、BGP 等。
优先级:标识路由加入 IP 路由表的优先级,优先级值越小则路由越优。当存在多条到达同一目的地的路由时,路由器会优先选择优先级高的路由。
开销:路由的度量值,用于衡量到达目的地的路径成本。不同的路由协议计算开销的方法可能不同,一般来说,开销越小的路径越优先被选择。
标志:用于标记路由的一些特殊属性,如是否是迭代路由等。
应用场景
路由器:路由器是使用路由表的核心设备,它根据路由表中的信息将数据包从一个网络转发到另一个网络,实现不同局域网、广域网之间的通信。无论是企业级网络、互联网服务提供商的网络,还是小型家庭或办公室网络中的路由器,都需要依靠路由表来正确地转发数据包。
主机:除了路由器,普通主机也可以有路由表。例如,在 Windows 系统中,可以通过 “route print” 命令查看本地计算机上的路由表。主机的路由表用于决定本地计算机产生的数据包如何通过网络接口发送到目标网络或主机。
总之,路由表是网络通信中不可或缺的一部分,无论是对于专业的网络设备如路由器,还是普通的主机,都起着至关重要的作用。
相关文章:
计算机网络三张表(ARP表、MAC表、路由表)总结
参考: 网络三张表:ARP表, MAC表, 路由表,实现你的网络自由!!_mac表、arp表、路由表-CSDN博客 网络中的三张表:ARP表、MAC表、路由表 首先要明确一件事,如果一个主机要发送数据,那么必…...
Dangerzone:免费的危险的文件转换安全程序
我们知道很多杀毒软件会将很多文件视作恶意程序,尤其是带宏病毒的DOC文件,直接删除难免会带来不必要的麻烦,那么推荐一款免费的危险的文件转换安全程序:Dangerzone 。它可以检查各种可能有危险的文件并将其转换为安全版本…...
2025/1/21 学习Vue的第四天
睡觉。 --------------------------------------------------------------------------------------------------------------------------------- 11.Object.defineProperty 1.在我们之前学习JS的时候,普通得定义一个对象与属性。 <!DOCTYPE html> <h…...
【IEEE Fellow 主讲报告| EI检索稳定】第五届机器学习与智能系统工程国际学术会议(MLISE 2025)
重要信息 会议时间地点:2025年6月13-15日 中国深圳 会议官网:http://mlise.org EI Compendex/Scopus稳定检索 会议简介 第五届机器学习与智能系统工程国际学术会议将于6月13-15日在中国深圳隆重召开。本次会议旨在搭建一个顶尖的学术交流平台…...
如何使用虚拟现实技术有效提升模拟训练效率
虚拟现实(VR)技术在模拟训练中的应用正逐步展现其巨大的潜力,通过提供高度沉浸式的体验、灵活的训练场景和精准的数据分析,显著提升训练效率。本文将结合Varjo XR-4头显、Techviz多通道显示软件、Senseglove虚拟现实手套等具体案例…...
OpenEuler学习笔记(十一):OpenEuler上搭建LAMP环境
LAMP环境指的是Linux、Apache、MySQL(或MariaDB)和PHP的组合,下面为你介绍在OpenEuler上搭建LAMP环境的详细步骤: 1. 系统更新 首先要更新系统中的软件包,保证系统处于最新状态。 sudo dnf update -y2. 安装Apache…...
Anaconda安装(2024最新版)
安装新的anaconda需要卸载干净上一个版本的anaconda,不然可能会在新版本安装过程或者后续使用过程中出错,完全卸载干净anaconda的方法,可以参考我的博客! 第一步:下载anaconda安装包 官网:Anaconda | The O…...
【玩转全栈】----YOLO8训练自己的模型并应用
继上篇: 【玩转全栈】---基于YOLO8的图片、视频目标检测-CSDN博客 相信大家已经可以训练一些图片和视频了,接下来我将为大家介绍如何训练自己的特定模型,并用其进行检测 目录 准备数据 图片数据 标识数据 配置文件 运行 测试训练结果 存在的问…...
计算机视觉算法实战——无人机检测
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 1. 引言✨✨ 随着无人机技术的快速发展,无人机在农业、物流、监控等领域的应用越来越广泛。然而,无人机的滥用也带…...
css粘性定位超出指定宽度失效问题
展示效果 解决办法:外层容器添加display:grid即可 完整代码 <template><div class"box"><div class"line" v-for"items in 10"><div class"item" v-for"item in 8">drgg</div>&…...
⽤vector数组实现树的存储(孩⼦表示法)c++
在我们遇到的算法题中, ⼀般给出的树结构都是有编号的,这样会简化我们之后存储树的操作 ,⼀般提供两个信息; 结点的个数 n;n-1条x结点与y结点相连的边 题⽬描述: ⼀共9个结点셈 1号结点为根节点,接下来8⾏ÿ…...
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
如果有遗漏,评论区告诉我进行补充 面试官: 主键与索引有什么区别 ? 我回答: 一、主键(Primary Key) 1. 定义 主键是关系型数据库中的一条记录中的某个属性组(可以是一个字段或多个字段的组合),用于唯一标识一条记…...
spring aop 中 返回值
使用环绕切面 Around(value "requsetInterceptor()")public Object logExectionTime(ProceedingJoinPoint joinPoint) throws Throwable {logger.info("-------logExectionTime--------");if(isRun){Object proceed joinPoint.proceed(); // 执行目标方…...
总结7。。
二叉树的遍历是指按某条搜索路径访问树中的每个结点,使得每个结点均被访问一次,而且仅能访问一次(说明不可二次访问,一遍而过)。遍历一颗二叉树便要决定对根结点N、左子树L和右子树的访问顺序。 二叉树常的的遍历方法有…...
9.中断系统、EXTI外部中断
中断系统原理 中断 中断系统是管理和执行中断的逻辑结构,外部中断是众多能产生中断的外设之一,所以本节我们就借助外部中断来学习一下中断系统。在以后学习其它外设的时候,也是会经常和中断打交道的。 中断:在主程序运行过程中…...
【软件测试项目实战 】淘宝网:商品购买功能测试
一、用例设计方法分析 在对淘宝网商品下单功能进行测试时,不同的测试角度和场景适合运用不同的用例设计方法,以下是针对该功能各方面测试所适用方法及其原因的分析: 商品数量相关测试:对于商品数量的测试,主要采用等…...
TangoFlux 本地部署实用教程:开启无限音频创意脑洞
一、介绍 TangoFlux是通过流匹配和 Clap-Ranked 首选项优化,实现超快速、忠实的文本到音频生成的模型。 本模型由 Stability AI 提供支持🚀 TangoFlux 可以在单个 A40 GPU 上在 ~3 秒内生成长达 34.1kHz 的立体声音频。 二、部署 安装方式非常简单 1…...
Android多语言开发自动化生成工具
在做 Android 开发的过程中,经常会遇到多语言开发的场景,尤其在车载项目中,多语言开发更为常见。对应多语言开发,通常都是在中文版本的基础上开发其他国家语言,这里我们会拿到中-外语言对照表,这里的工作难…...
Mac cursor设置jdk、Maven版本
基本配置 – Cursor 使用文档 首先是系统用户级别的设置参数,运行cursor,按下ctrlshiftp,输入Open User Settings(JSON),在弹出的下拉菜单中选中下面这样的: 在打开的json编辑器中追加下面的内容: {"…...
Unity中在UI上画线
在UI中画一条曲线 我封装了一个组件,可以实现基本的画线需求. 效果 按住鼠标左键随手一画. 用起来也很简单,将组件挂到空物体上就行了,红色的背景是Panel. 你可以将该组件理解为一个Image,只不过形状更灵活一些罢了,所以它要放在下面的层级(不然可能会被挡住). 代码 可以…...
Unity中关于实现 管道水流+瀑布流动+大肠蠕动效果笔记
Unity中关于实现 管道水流瀑布流动大肠蠕动效果笔记 效果展示: 参考资料及链接: 1、如何在 Unity 中创建水效果 - 水弯曲教程 https://www.youtube.com/watch?v3CcWus6d_B8 关于补充个人技能中:顶点噪波影响网格着色器配合粒子实现水特效 …...
【ARTS】【LeetCode-704】二分查找算法
目录 前言 什么是ARTS? 算法 力扣704题 二分查找 基本思想: 二分查找算法(递归的方式): 经典写法(找单值): 代码分析: 经典写法(找数组即多个返回值) 代码分析 经典题目 题目描述: 官方题解 深入思考 模版一 (相错终止/左闭右闭) 相等返回情形…...
JavaWeb 学习笔记 XML 和 Json 篇 | 020
今日推荐语 愿你遇见好天气,愿你的征途铺满了星星——圣埃克苏佩里 日期 学习内容 打卡编号2025年01月23日JavaWeb笔记 XML 和 Json 篇020 前言 哈喽,我是菜鸟阿康。 以下是我的学习笔记,既做打卡也做分享,希望对你也有所帮助…...
【LeetCode】--- MySQL刷题集合
1.组合两个表(外连接) select p.firstName,p.lastName,a.city,a.state from Person p left join Address a on p.personId a.personId; 以左边表为基准,去连接右边的表。取两表的交集和左表的全集 2.第二高的薪水 (子查询、if…...
【深度解析Java 20天速成】04_IDEA的安装与使用
【Why IDEA ?】 【注】JetBrains官方说明: 尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBrains 产品的用户,因为这些用户更有可能参加调查。 此外,2022年,某美国软件开发商在对近千名专业的Ja…...
系统思考—业务协同
最近在和一些客户的沟通中,企业老板都提到一个共同的困惑:每个部门都感觉自己在解决问题,做了正确的事情,但为什么组织的绩效就是没有增长?更糟糕的是,大家都不知道问题到底出在哪里? 在这种情…...
windows安装ES
1. 下载ES 访问ES官网下载Download Elasticsearch | Elastic 2. 配置环境变量 ES_JAVA_HOME : D:\jdk-17.0.9 ES_HOME : D:\elasticsearch-8.17.1-windows-x86_64\elasticsearch-8.17.1 3. 添加一些ES的配置 <1>关闭ES安全认证 打开elasticsearch-8.17.1\config\e…...
[java] java基础-字符串篇
目录 API String 创建字符串对象的两种方式: Java的内存模型 字符串常量池(串池)存放地址 两种构造方法的内存分析 String的常用方法 号比较的是什么 字符串比较(比较字符串的数据值) 遍历字符串 StringBui…...
告别手动编辑:如何用Python快速创建Ansible hosts文件?
在自动化运维领域,Ansible是一款非常强大的工具,它可以帮助我们管理和配置大量的服务器。为了让Ansible能够有效地管理这些服务器,我们需要一个hosts清单文件,该文件定义了Ansible要管理的目标主机。在实际应用中,我们…...
神经网络|(二)sigmoid神经元函数
【1】引言 在前序学习进程中,我们已经了解了基本的二元分类器和神经元的构成,文章学习链接为: 神经网络|(一)加权平均法,感知机和神经元-CSDN博客 在此基础上,我们认识到神经元本身在做二元分类,是一种非…...
DAY6,使用互斥锁 和 信号量分别实现5个线程之间的同步
题目 请使用互斥锁 和 信号量分别实现5个线程之间的同步 代码:信号量实现 void* task1(void* arg); void* task2(void* arg); void* task3(void* arg); void* task4(void* arg); void* task5(void* arg);sem_t sem[5]; //信号量变量int main(int argc, const …...
Redis 集群模式入门
Redis 集群模式入门 一、简介 Redis 有三种集群模式:主从模式、Sentinel 哨兵模式、cluster 分片模式 主从复制(Master-Slave Replication): 在这种模式下,数据可以从一个 Redis 实例(主节点 Master)复…...
计算机网络 (55)流失存储音频/视频
一、定义与特点 定义:流式存储音频/视频是指经过压缩并存储在服务器上的多媒体文件,客户端可以通过互联网边下载边播放这些文件,也称为音频/视频点播。 特点: 边下载边播放:用户无需等待整个文件下载完成即可开始播放…...
vue + element-ui 组件样式缺失导致没有效果
失效 代码: 修改方法: 在main.js文件里面加上: import element-ui/lib/theme-chalk/index.css; 最后:...
在 Windows 11 中为 SMB 3.x 文件共享协议提供 RDMA 支持
注:机翻,未校。 Enable SMB Direct in Windows 11 在 Windows 11 中启用 SMB Direct Provides RDMA support for the SMB 3.x file sharing protocol 为 SMB 3.x 文件共享协议提供 RDMA 支持 Vigneshwaran Vijayakumar November 3, 2024 Last Updat…...
250123-对象的比较(equals()和==)
1. Object类中的equals()方法 见20250103-Object类,使用构造函数创建的两个对象,见下例,即使输入参数是相同的,比较结果仍是不同,因为对象的堆内存地址不同,在任何情况下使用关键字new都会开辟出一个新的内…...
UE求职Demo开发日志#6 测试用强化页面UI搭建
1 反向实现思路设计 先看最终效果: 先做了一个大致的分区,右侧的上半部分用来显示数据,下半部分用来强化和显示需要的材料,至于这个背景设定上强化应该叫什么,。。。。,还没定,反正应该不叫强…...
华为支付接入规范
为了确保用户获得良好的支付体验,Payment Kit制定了相关接入设计规范,请开发者遵照执行,具体要求(非强制性)如下: 一、支付方式呈现 涉及支付公司名称,请统一使用:花瓣支付ÿ…...
论文速读|Matrix-SSL:Matrix Information Theory for Self-Supervised Learning.ICML24
论文地址:Matrix Information Theory for Self-Supervised Learning 代码地址:https://github.com/yifanzhang-pro/matrix-ssl bib引用: article{zhang2023matrix,title{Matrix Information Theory for Self-Supervised Learning},author{Zh…...
左叶子之和(力扣404)
这道题需要将左右子树的左叶子结点之和不断返回给该左右子树的父节点,这是典型的后序遍历。如果大家对于二叉树的遍历不熟悉的话,可以先去看一下我的关于二叉树遍历的博客。否则直接看这道题是很容易懵逼的。熟悉了二叉树的遍历之后,大家可以…...
微信小程序使用picker根据接口给的省市区的数据实现省市区三级联动或者省市区街道等多级联动
接口数据如上图 省市区多级联动,都是使用的一个接口通过传参父类的code。返回我们想要的数据 比如获取省就直接不要参数。市就把省得code传给接口,区就把市的code作为参数。 <picker mode"multiSelector" :range"mulSelect1" …...
iconfont等图标托管网站上传svg显示未轮廓化解决办法
打开即时设计 即时设计 - 可实时协作的专业 UI 设计工具 导入图标后拖入画板里面,右键选择轮廓化 将图标导出...
Mysql索引(学习自用)
目录 一、索引概述 优缺点 二、索引结构 1、索引数据结构 2、索引支持结构 3、B树 4、B树 5、hash索引 6、为啥采用B树索引 三、索引分类 四、索引语法 五、索引性能分析 5.1查看执行频率 5.2慢查询日志 5.3profiling 5.4explain 六、索引使用规则 6.1验证索…...
封装svg图片展示及操作组件——svgComponent——js技能提升
template部分 <template><div class"canvas-wrapper" ref"canvasWrapper"><svg:viewBox"computedViewBox"ref"svgCanvas"xmlns"http://www.w3.org/2000/svg"xmlns:xlink"http://www.w3.org/1999/xlink…...
数据从前端传到后端入库过程分析
数据从前端传到后端入库过程分析 概述 积累了一些项目经验,成长为一个老程序员了,自认为对各种业务和技术都能得心应手的应对了,殊不知很多时候我们借助了搜索引擎的能力,当然现在大家都是通过AI来武装自己。 今天要分析的话题是…...
【Pytest】结构介绍
1.目录结构介绍 project_root/ │ ├── tests/ # 测试用例存放目录 │ ├── __init__.py │ ├── test_module1.py │ ├── module1.py # 被测试的模块 ├── conftest.py # pytest配置文件,可定义fixture和钩子函数 ├── py…...
每日十题八股-2025年1月23日
1.快排为什么时间复杂度最差是O(n^2) 2.快排这么强,那冒泡排序还有必要吗? 3.如果要对一个很大的数据集,进行排序,而没办法一次性在内存排序,这时候怎么办? 4.面试官:你的…...
mysql相关知识(详细)
一、什么是数据库? 概念:数据库(Database,简称DB),长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"。作用:存放管理数据分类:关系型数据库、NoSQL数…...
C++ 静态变量static的使用方法
static概述: static关键字有三种使用方式,其中前两种只指在C语言中使用,第三种在C中使用。 静态局部变量(C) 静态全局变量/函数(C) 静态数据成员/成员函数(C) 静态局部变量 静态局部变量&…...
对grid布局有哪些了解【css】
CSS Grid 布局是现代网页设计中非常强大的布局方式之一,它能够使你以更加灵活且直观的方式来设计网页的布局,特别适用于复杂的多行多列的布局。它允许你在网页上创建非常精确的网格,帮助你把内容放置在多个行和列中。 1. Grid 布局的基本概念…...