计算机网络考研辨析(后续整理入笔记)

news2024/9/22 7:32:46

文章目录

    • 体系结构
    • 物理层
      • 速率辨析
      • 交换方式辨析
      • 编码调制辨析
    • 链路层
      • 链路层功能
      • 介质访问控制(MAC)
        • 信道划分控制之——CDMA
        • 随机访问控制
        • 轮询访问控制
      • 扩展以太网
      • 交换机
    • 网络层
      • 网络层功能
      • IPv4协议
        • IP地址
        • IP数据报分析
        • ICMP
      • 网络拓扑与转发分析(重点)
      • 路由算法和路由协议
    • 传输层
      • 可靠传输
      • UDP
      • TCP
      • 拥塞控制
      • TCP建立和断开
    • 应用层
      • http协议
      • 两个服务器

考完研补充题目图片进来。

方老师课程还有一些细节不够到位,不影响学习,但是初期如果想得多了,会有一些迷惑,后续要把这些补进去文章里,让文章更加好。

这里做出细化,尤其是针对数字,计算,保证无误。

体系结构

OSI模型会考,相比于5层模型,在应用层和传输层之间,多了表示层和会话层。

  1. 高三层=资源子网
    • 应用层是应用程序的所在
    • 表示层用于统一不同系统之间数据格式的差异
    • 会话层用于建立进程之间的通信(会话)
  2. 传输层,承上启下,TCP,UDP
  3. 低三层=通信子网

注意流量控制,在笔记里,我是把流量控制放在传输层了,但是实际上传输层,网络层,链路层都可以进行流量控制,区别在于:

  1. 传输层,端到端流量控制
  2. 网络层,整个网络
  3. 链路层,相邻结点之间

物理层

速率辨析

计算题型二:

注意奈氏准则,香农定理,以及波特率。

波特率(调制速率)是码元传输速率,因此实际速率=码元大小×波特率

实际上奈氏准则公式里的2W就是带宽为W前提下的波特率,反过来算波特率也别忘了码元。

交换方式辨析

三+1种交换的区别:

  1. 电路交换:一条路走到黑
  2. 报文交换:电路交换灵活版,一段路走到黑,但是可以分开几段走
  3. 分组交换,不仅分开几段走,数据报也要切分成分组
    • 数据报交换,最基本的分组交换(注意区分报文交换≠数据报交换)
    • 虚电路交换
      • 流程类似电路交换,先建立连接,之后分配一个虚电路号
      • 具有电路交换的顺序性,但是其他方面和分组一致,发送是很灵活的,不用分配带宽(20年真题),且不会占用(可交叉)

三种交换模式的时间计算

数据报交换,假设忽略节点处理时间以及传播时延,只关注发送的时间,那么要按照流水线的思路分析。

假设有n段,那么总时间T=第一个节点发送完全部分组+其余n-1个节点逐级转发完最后一个分组的时间

以10年真题看,首先确定有1000个分组,每一个分组有1000B。第一个节点发送要80s,而之后还要转发3-1=2级,因此还要有2×0.08ms的时间,选C

如果用报文交换呢?每一级都要消耗全部分组的时间,也就是说要3×80s

如果用电路交换呢?已经建立好链接的前提下,就是一级的时间即80s

总的来说,电路交换是最快的,报文交换比电路交换灵活点,但是损耗太大了,而分组交换相当于细分程度很高的流水线,可以逼近电路交换的速度,同时兼顾完美的灵活性。

再论2013年真题,直接用上述思路,报文交换是800×2,而分组交换是800+1

编码调制辨析

  1. RZ(归零)
  2. NRZ(不归零)
  3. NRZI(NRZ invert),翻转NRZ
    • 思想像差分曼彻斯特
    • 遇到0则翻转
    • 差异有二,NRZI反转的是电平,而差分曼彻斯特是跳变方向,其次是NRZI遇0翻转,而差分曼彻斯特遇1翻转
  4. 曼彻斯特,跳变方向代表0或者1
  5. 差分曼彻斯特
    • 曼彻斯特的导数(差分)
    • 跳变方向改变代表1,不变代表0(导数为零)

具体做题的时候,先通过波形判断是R系的,还是曼彻斯特系的,之后再内部区分。

不同调制:

  1. ASK(Amplify SK),调幅
  2. FSK(Frequency SK),调频
  3. PSK(Phase SK),调相
  4. QAM,相当于ASK和PSK杂交

链路层

链路层功能

我们学的只是无确认的无连接服务,实际上链路层有三种功能,逐级递进

  1. 无确认+无连接
  2. 有确认+无连接
    • 加入重传机制,用于错误率较高的信道,比如无线
  3. 有确认+有连接
    • 这里就非常像传输层那边的可靠传输了,但是仅仅实现了停等协议

可靠传输到底在哪一层?

实际上可靠传输是很复杂的,因此实际中都是在传输层实现,正好和TCP一起,方老师是这样讲的,但是在408考纲里面,可靠传输极限情况下可以放在链路层,因此考出来的话,实际上链路+网络+传输,都可以可靠传输。

可靠传输分类:

  1. ARQ,使用确认+重传机制确保可靠
    • 非连续ARQ:停等
    • 连续ARQ
      • GBN
      • SR

具体的讲解仍然是放在传输层里面。

介质访问控制(MAC)

在这里插入图片描述

分类:

  1. 信道划分控制:
    • 是一种集中控制的思路,用户服从整体
    • 具体来说就是复用,在后面加个A就是xx多址复用
      • FDM(Frequency)
      • TDM,进阶版是STDM(Static TDM),时隙不固定
      • WDM(Wawe)
      • CDM(Code),码分复用
    • 重点是CDMA,14年真题考了,得学一下细节
  2. 随机访问控制
    • 本质是争用,用户平等,不受控
      • ALOHA
      • CSMA
      • CSMA/CD
      • CSMA/CA
信道划分控制之——CDMA

题型1:CDMA细节(14年真题)

王道考研CDMA

一个bit用一个码片表示,下图长度为8

乍一看浪费了8倍的空间,别急,还有一个要求,就是多个站点之间的码片要正交,结合线性代数的知识可以知道,8维向量,正交的向量个数最多是8个,也就是说,极限情况下可以同时让8个站点使用8个正交的码片。

这个情况下是不存在浪费的,8bit的融合数据里面能包含8×1个bit

好了,继续分析码片的性质,1对应原始码片,要表示0,就把码片01翻转,此时有趣的现象来了,这操作相当于码片对应的向量前面给负号,并不改变正交性。

在这里插入图片描述

发送过程很简单:

  1. 发送端,把向量线性叠加
  2. 接收端,用向量乘以接收到的叠加数据,就可以提取出我要的信号

为什么呢?根源在于所有码片是正交的,那么叠加后的数据乘以某个码片,只有对应码片才能有结果,其他码片的内积都是0,所以实际上叠8个都是可以的

所以CDMA,效果好,抗干扰,保密性好,且不浪费,优点突出。

在这里插入图片描述

举例14年真题

首先审好题,C收到A发的数据,也就是说要用A的码片去解析

随机访问控制

ALOHA,很老,简陋

ALOHA采用ack机制,如果发送方没有收到ack,代表冲突了,则经过随机事件后重发

时隙ALOHA将时间对齐,规定发送帧必须在时间片开头发送,这样可以降低碰撞率

在这里插入图片描述

CSMA整个系列的都可以一起讲,最开始讲一下CSMA/CD,之后的进行简化就可以。

CSMA是弱化版CSMA/CD协议,有三种,区分一下:

  1. 坚持和非坚持的区别在于,信道忙的时候是否要暂停监控
  2. 坚持内部,1和p的区别在于信道空闲的时候立即发送的概率

在这里插入图片描述

上图只列出两种情况,其实还有一种冲突的情况,就是争用期内发生碰撞,此时这几个协议都会暂停一段时间再监听,注意,这个冲突是通过监听实现的,而不是ack

CSMA/CA,CA是Avoid,CD是Detect,区别在于CD只能检测,而CA只能避免:

  1. CD,手法简陋,重点在发送过程的检测
  2. CA,有详细的预约机制和确认机制
    • 通过RTS(Request)和CTS(Clear)进行握手,实际上是建立了两个站点之间的链接,保证发送过程不被打扰。
    • 发送过程是停等协议的过程,有ack机制
    • 弱化检测,因此广泛用于无线网络(反正无线网络在发送过程中也很难检测)

在这里插入图片描述

11年真题:在随机访问控制里面,ALOHA是用ack的,CSMA全系里面,只有CSMA/CA用ack

20年真题:CA的监听是通过RTS实现的,在第一个RTS被回复之前,前面所有RTS消耗的时间就是监听消耗的时间,是最长的。这道题图里给的RTS是被回复的第一个RTS,前面其实还有RTS,只不过被隐藏在IFS1里面了,因此IFS1就是最长的。

轮询访问控制

前两种MAC方式,都是平等的,但是轮询需要有一个主机,控制整个系统。

缺点在于,轮询过程本身有消耗,其次主机万一坏了就尴尬了(单点故障)

在这里插入图片描述

令牌传递协议是轮询的优化,去除了主机控制,用令牌去代替。

注意,令牌环网是逻辑环网,实际上还是星形的物理拓扑。

发送过程就是令牌在不断转圈:

  1. 如果不发送,就不断地传下去
  2. 如果发送
    • 修改占用位
    • 附加数据
    • 此时仍然是转圈,其他非目标节点接收到令牌后,发现不是给自己的,就继续传下去,直到目标节点,接受了数据,继续把令牌传下去

说白了,令牌永远都在按顺序转,只是把发送数据和商量的过程藏在了转的过程里。

虽然去掉了主机,但是仍然会有单点故障,让环路断掉,好在可以用备用机顶替。

在这里插入图片描述

扩展以太网

线缆区分看后缀(19真题)

BASE5:同轴电缆(数字后缀)
BASE-T:双绞线
BASE-F:光纤

以太网协议区分:

  1. IEEE 802.3
    • 有线以太网,和V2并称,一般混起来用
  2. IEEE 802.11
    • 无线局域网,注意4个地址,在不同情况下代表含义不同
    • 第一种情况是两个终端,两个基站转发,记忆方法是按目的-源,基站-终端来记
      • 1,RA,Receive,目的AP基站
      • 2,TA,Trans,源AP基站
      • 3,DA,Destination,目的终端
      • 4,SA,Source,源终端
    • 第二种情况是两个终端,一个基站转发,又要分两种情况,此时不区分AP和终端,怎么记呢?前两个地址代表方向,<目的站,源站>,最后一个用剩下的终端填就行
      • 发送端,基站,S,D,从S发到基站
      • 接收端,D,基站,S,从基站发到D

以17年真题为例,首先确定是一个基站,然后确定<目的站,源站,剩余>,即<AP,S,D>,所以B

在这里插入图片描述

交换机

交换机两点:

  1. 自学习
  2. 无目标则广播(本端口不播)

以14年为例,首先无目标,则广播23端口
此时自学习,记录a1-1端口,因此ack有目标不需要广播

16年同理,因为自学习机制,H2会被记录,因此H4反馈ack的时候,交换机端口上只有H2所在端口会转发ack,但是注意H4在到达交换机之前,还经过一个Hub,这里无条件广播的。

网络层

这一章是重中之重,不会的话大题就没了。

网络层功能

注意SDN这个考点,22年新加入,细化了。

SDN说白了就是集中管理,并且将控制层单独抽离出来,进行软件层面的编辑,然后下放给数据层,进行转发控制

SDN控制层在中间,向上把北向接口提供给程序员,进行软件的设计,向下把南向接口提供给硬件设备,至于如何兼容,就要靠Openflow之类的南向接口协议了。

22年真题考的就是南向接口,那么如果要继续考,无非就是流表本身或者北向接口了。

IPv4协议

IP地址

首先是ABCDE类IP地址,其次是CIDR,最后就是子网划分。

注意,CIDR中,子网号没有特例,分3位就是8个子网,而网内主机号要去掉两个特例(10,11)

出于网络安全考虑,专门划分了一些IP地址专用于局域网,比如10,172,192中的一些IP地址,专用与本地,又叫可重用地址

看12年真题,网络内部全1,因此子网掩码为0的位,都要置1,不要只置最后一节(那样就会选到B)

18年真题,考虑两个特例,全0为本地,只能作为源地址,全1为网内广播,只能作为目的地址

19年真题考察变长子网号分配法,类似于计组里面的指令条数计算,因为这里是2进制的,所以当前位使用0,留出1给下一级用,因此前3级子网号为0,10,110,然后第四级要终止了,所以不留了,全用光,为1110,1111,即4位子网号

思路拓展一下,如果是6个子网呢?那就要多分一级了,前4级给4个子网号,最后一级用2个子网号,总结一下,k级变长分配,可以制造k+1个子网号。

21年的子网划分考的比较难,但是本质上无非就是两种子网划分方法的情况,考虑变长形式,3个子网就分两级,那么题干给的10,既可以作为变长的第一级,即10,110,110分法,也可以作为变长的第二级,即0,10,11分法,此时已经可以把(0,11,110,111这4个选项排除了),为什么00错了呢?因为00只能是定长,就得分00,01,10,11,4个子网了

IP数据报分析

之前说过,如果MTU=1500,那么偏移位恰好是可以满足8的倍数的,因此数据可以装满1480B

但是在21年真题里面,MTU换了一下

因此需要在数据(780B)范围内进行对齐,对8取余,把余数剪掉剩下的就是可以被整除的长度了,这里余4,776B就是极限的IP数据部分

所以切分成3个IP数据报,776+20,776+20,8+20,第二个分片总长度为796(算上报头),后面还有分片,所以MF=1

ICMP

类型区分:

  1. 终点不可达。因为各种原因导致发不过去,最常见的错误。
    • 曾经有一个源点抑制报文,专门用于处理拥塞问题的,通知源点抑制一下窗口,现在废除了
  2. 时间超过。路由器收到TTL=0的报,无法转发而丢弃
  3. 参数问题。IP首部出错
  4. 改变路由。重定向,下次有一条更好的路走

网络拓扑与转发分析(重点)

选择题:

11年考路由表,明确路由表是针对网络的,所以为了到达所有子网,需要把那两个未达子网的目标网络号统筹起来,因此得到子网掩码是255.255.255.0,下一跳是目标路由器的IP接口,即~.2,选D。注意区分下一跳和接口字段,下一跳是目标,而接口字段通常隐藏,就是从哪个门出去的意思。

15年考最长前缀匹配原则

16年考了一道看起来挺吓人的,仔细分析。通过网关和子网掩码可以提取出网络号,发现H1,H2在一个局域网,H3和H4在一个局域网。注意,对于IP通信来说,同一个局域网段的(网络号相同),才可以进行链路层通信,否则必须走网络层路由器,也就是说H1和H3要通信,就得走路由器R2,但是R2上面只给了一个网关,是给H3和H4的网关,因此H1压根就走不了网络层,更别说和H3通信了。

16年又考了一道狠的,考察了访问广域网的过程。首先是局域网发出一个分组,然后经过网关的NAT转换,变成路由器转发端口的IP,问题来了,这个IP是多少呢?关键在于30的网络号,在主机号里忽略掉两个特例00和11,剩下的就是01和10,分别对应201.1.3.9和201.1.3.10,R1占了一个9,因此这里用10。这道题综合考察了互联网转发过程,NAT,和IP地址,挺好。

18年本质上考的是ARP原理,这道题只是考了其中的MAC地址转换过程

22年真题,考网关是什么?首先,网关是一个局域网内部的IP地址,因此网关的网络号就是局域网的网络号(子网掩码同理),其次,网关要连在路由器上,所以用距离本网络最近的路由器的端口当网关

若干大题

TODO,后面写

路由算法和路由协议

这一块能出大题,所以同样重点,不可以糊弄。

这些协议都是应用层协议

  1. IGP
    • 最常用RIP,搭配距离向量算法,使用UDP
    • 规模大则用OSPF,搭配链路状态算法,尽可能精简数据,使用IP,直接把数据塞到IP数据报里面,没有UDP报头
  2. EGP
    • 最常用BGP-4,搭配路径向量算法,需要保证稳定,因此使用TCP协议

在这里插入图片描述

选择题挺简单,最难的是16年真题,这道题考了“坏消息传的慢”的过程。

R1,R2此时都为(目标网络,2,R3),R3为(目标网络,16,-),题目告诉你,R3只向R2通告了,R1是不受影响的,所以R2会先变成(目标网络,16,-),之后又会收到R1的通告,变成(目标网络,2+1,R1),此后就是满收敛的过程了,没有继续深入考了。这道题的关键在于,R3只向R2通告,而题目说的R2更新,是包括R3,R1各自通告一次后的结果,如果只考虑R3那一次,就会选C,其实还有一次R1呢,这是命题人的目的。

还有就是,我的笔记里那个例子没有说明(a,b,c)到底是代表什么,所以我自己复习都没看懂,实际上应该是(目标网络号,距离,下一跳),后面补上

传输层

可靠传输

ACK是标记,用于表示是否是反馈,而ack是确认号

ack到底是多一位还是正好,实际上普遍是ack多一位,比如收到了100,那么就ack(101),这样比较方便,发送方直接把窗口起始位置调成ack的值就可以,非常直观。后面你看到方老师给的图,基本都是这样。

注意区分,题目给出“收到x号帧的确认”,这是一种文字性描述,代表已经收到了x,但是如果是“ack=x”,那么实际上只代表收到了x-1

题型1:传输过程分析,11,12年真题,这个简单

题型2:窗口大小限制(17年真题)

首先明确帧号(数据下标)默认从0开始,比如2bit编号,数据号就是0,1,2,3,而窗口大小,确实就是长度,从1开始

GBN和SR是统一看的,凡是采用窗口协议,nbit编码,那么两方窗口之和≤ 2 n 2^n 2n

GBN协议中,接收至少=1,那么发送端窗口尺寸最大 2 n − 1 2^n-1 2n1

考虑SR协议,两方窗口要相等才最好,因此单方窗口最大是 2 n − 1 2^{n-1} 2n1,最佳也应该是这个值。

举个极端的例子证明为什么窗口总和最大为 2 n 2^n 2n,以n=3举例,如果窗口大小为8(危险),那么最多同时发0-7,那么接下来0号帧就会有歧义:

  1. 如果确认帧正常,下一个0代表有效帧
  2. 确认帧丢失,那么0代表重传的帧

关键是接收方无法确定确认帧是否丢失,所以窗口大小要让出一个来,不可以是 2 n 2^n 2n

17年真题直接秒了

题型3:信道利用率(超高频考点,基本每年)

本质上,是单个周期内,发送数据的时间占比(剩余的时间就是空闲时间)

停等协议最好计算,一个周期=发送一个帧+RTT

GBN协议和SR本质上是流水线,因此需要让流水线跑满才能保证信道利用率最大(反之,退化为停等)

此时就要考虑传播时延,你要保证在一帧的整个周期内,数据帧发送是不间断的,即一个窗口的传输时间≥周期,左右同乘数据率,则一个窗口的数据量≥一个周期内的最大数据传送量

以13年举例。

首先,桢长度不确定,取最小的极限情况,原因是如果帧更大,那么发送的数据量绝对满足流水线要求,但是反过来就不一定了,帧变小会导致窗口的数据量缩水,不见得可以满足。

之后计算一个周期发送的帧数量为10.4,也就是说窗口大小至少要有11,对应4bit编码

在看14年,先算一帧周期,0.08ms+2×50ms,约等于100ms,此时一个窗口的数据量为8Mb<10Mb的周期极限数据量,就知道跑不满流水线,此时效率为80%,因此实际速率是80Mb/s

15年,本质一样,你先算极限情况下一个周期可以发多少帧,单帧62.5ms,一个周期有9个帧,然后用效率卡一下是7.2个帧,也就是说至少8个帧,注意陷阱,GBN窗口大小限制 2 n − 1 2^n-1 2n1,所以最后是4bit编码

16题更简单,停等,设未知数套公式,信道利用率=传输时间/一帧周期

18年把确认帧改为1000B,因此周期公式要变长一点,所以周期是2000ms,但是注意,ACK虽然也是传输时延,但是并不是数据的传输时延,因此真正的数据发送时间只有800ms,结果为40%

UDP

报头计算,伪首部之类

TCP

到底是面向字节传输还是数据报传输

拥塞控制

关于ssthresh,cwnd在慢开始过程中是指数增长的,但是ssthresh并不是指数级,比如ss=12,但是cwnd原来是8,下一轮到底是从16开始进入拥塞避免还是从12呢?

很显然,是12,符合直觉,所以拥塞避免算法的开端一定是ssthresh。

关于下调,无论是拥塞还是3ACK,都代表ssthresh不合理,通通要腰斩。区别仅在于cwnd,拥塞下调的彻底,直接归1,慢开始,而3ACK要跳过慢开始,直接拥塞避免,因此从ssthresh开始,即cwnd=ssthresh(下调后的)

TCP建立和断开

我们默认都是消耗序号的。

三次握手比较简单,四次挥手有一点细节。

就是断开连接的通知,FIN=1,而响应则FIN=0.
其次就是,被动方第一次是响应,第二次是断开,细节在于这两次实际上可以理解为一次通知分开了,为什么呢?一来,他们的ACK=1,二来他们的ack值相等,都是u+1,所以本质上算是一次的,只不过这里分开了,更加灵活。

应用层

http协议

不同版本的交互流程

1.0

建立,发送,断开

1.1

建立,发送多个(可能是流水线),断开

2.0

加密+1.1

两个服务器

本地域名服务器和代理服务器的区别,代理服务器是针对URL资源的,比如你的b站视频,网页,而本地域名服务器是针对<域名,IP>的键值对的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1316330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件设计师——计算机网络(三)

&#x1f4d1;前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1…

Mac安装Typora实现markdown自由

一、什么是markdown Markdown 是一种轻量级标记语言&#xff0c;创始人为约翰格鲁伯&#xff08;John Gruber&#xff09;。 它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的 XHTML&#xff08;或者HTML&#xff09;文档。这种语言吸收了很多在电子邮…

【AI工具】GitHub Copilot IDEA安装与使用

GitHub Copilot是一款AI编程助手&#xff0c;它可以帮助开发者编写代码&#xff0c;提供代码建议和自动完成功能。以下是GitHub Copilot在IDEA中的安装和使用步骤&#xff1a; 安装步骤&#xff1a; 打开IDEA&#xff0c;点击File -> Settings -> Plugins。在搜索框中输…

棋牌的电脑计时计费管理系统教程,棋牌灯控管理软件操作教程

一、前言 有的棋牌室在计时的时候&#xff0c;需要使用灯控管理&#xff0c;在开始计时的时候打开灯&#xff0c;在结账后关闭灯&#xff0c;也有的不需要用灯控&#xff0c;只用来计时。 下面以 佳易王棋牌计时计费管理系统软件为例说明&#xff1a; 软件试用版下载或技术支…

Selenium安装WebDriver:ChromeDriver与谷歌浏览器版本快速匹配_最新版120

最近在使用通过selenium操作Chrome浏览器时&#xff0c;安装中遇到了Chrome版本与浏览器驱动不匹配的的问题&#xff0c;在此记录安装下过程&#xff0c;如何快速找到与谷歌浏览器相匹配的ChromeDriver驱动版本。 1. 确定Chrome版本 我们首先确定自己的Chrome版本 Chrome设置…

NE555汽车防盗报警电路图

实用汽车防盗报警电路如图所示。它主要由防盗部分和报警两大部分电路组成。防盗电路&#xff1a;当汽车主人离开汽车时&#xff0c;将防盗开关S置于“B”位置&#xff0c;使汽车进入防盗状态。当有窃贼进入驾驶室企图发动汽车将其盗走时&#xff0c;只要拧动点火开关&#xff0…

python+requests+pytest 接口自动化实现

最近工作之余拿公司的项目写了一个接口测试框架&#xff0c;功能还不是很完善&#xff0c;算是抛砖引玉了&#xff0c;欢迎各位来吐槽。 主要思路&#xff1a; ①对 requests 进行二次封装&#xff0c;做到定制化效果 ②使用 excel 存放接口请求数据&#xff0c;作为数据驱动 ③…

PhpStorm下载、安装、配置教程

前面的文章中&#xff0c;都是把.php文件放在WampServer的www目录下&#xff0c;通过浏览器访问运行。这篇文章就简单介绍一下PhpStorm这个php集成开发工具的使用。 目录 下载PhpStorm 安装PhpStorm 配置PhpStorm 修改个性化设置 修改字符编码 配置php的安装路径 使用Ph…

MySQL 常用数据类型总结

面试&#xff1a; 为什么建表时,加not null default ‘’ / default 0 答:不想让表中出现null值. 为什么不想要的null的值 答:&#xff08;1&#xff09;不好比较,null是一种类型,比较时,只能用专门的is null 和 is not null来比较. 碰到运算符,一律返回null &#xff08…

【Spring】06 生命周期之销毁回调

文章目录 1. 回调是什么2. 销毁回调2.1 实现 DisposableBean 接口2.2 配置 destroy-method 3. 执行顺序4. 应用场景总结 在 Spring 框架中&#xff0c;生命周期回调&#xff08;Lifecycle Callbacks&#xff09;是一种强大的机制&#xff0c;它允许我们在 Spring 容器中的 Bean…

Mybatis-Spring整合原理:MapperFactoryBean和MapperScannerConfigurer的区别及源码剖析

文章目录 引言MapperFactoryBean的用法和优缺点MapperScannerConfigurer的用法和优缺点MapperFactoryBean源码分析MapperScannerConfigurer源码分析Spring容器初始化流程回顾核心方法&#xff1a;postProcessBeanDefinitionRegistryBeanDefinitionRegistryPostProcessor和BeanF…

杰理-音箱-flash配置

杰理-音箱-flash配置 注意配置io&#xff0c;双线或者4线的硬件连接方式&#xff0c;否则无法烧录UI资源

STM32与Freertos入门(七)信号量

1、简介 FreeRTOS提供了二值信号&#xff08;Binary Semaphore&#xff09;作为一种同步机制&#xff0c;用于在任务之间进行简单的通信和同步操作。二值信号是一种特殊类型的信号量&#xff0c;只能有两种状态&#xff1a;0&#xff08;未触发&#xff09;和1&#xff08;已触…

PAT 乙级 1019 数字黑洞

解法思路,我用c语言和python 做了这道题&#xff0c;这里面有一个小坑就是没说一定是4位整数&#xff0c;有可能是3位&#xff0c;2,1&#xff0c;位&#xff0c;用python排序时候需要注意&#xff0c;我c语言用的hash反而无所谓。。代码如下&#xff1a; c语言代码: #includ…

CTFHub | 反射型

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

腾讯云服务器优惠活动大全页面_全站搜优惠合集

腾讯云推出优惠全站搜页面 https://curl.qcloud.com/PPrF9NFe 在这个页面可以一键查询所需云服务器、轻量应用服务器、数据库、存储、CDN、网络、安全、大数据等云产品优惠活动大全&#xff0c;活动打开如下图&#xff1a; 腾讯云优惠全站搜 腾讯云优惠全站搜页面 txybk.com/go…

STP笔记总结

STP --- 生成树协议 STP&#xff08;Spanning Tree Protocol&#xff0c;生成树协议&#xff09;是根据 IEEE802.1D标准建立的&#xff0c;用于在局域网中消除数据链路层环路的协议。运行STP协议的设备通过彼此交互信息发现网络中的环路&#xff0c;并有选择地对某些端口进行阻…

MyBatis原理解读

我们项目中多用MyBatis进行数据库的读写,开源的MyBatis-Plus框架对其进行了增强,使用上更加简单,我们之前的很多项目也是直接用的MyBatis-Plus。 数据库操作的时候,简单的单表读写,我们可以直接在方法里链式组装SQL,复杂的SQL或涉及多表联合join的,需要在xml手写SQL语句…

缓存的定义及重要知识点

文章目录 缓存的意义缓存的定义缓存原理缓存的基本思想缓存的优势缓存的代价 缓存的重要知识点 缓存的意义 在互联网高访问量的前提下&#xff0c;缓存的使用&#xff0c;是提升系统性能、改善用户体验的唯一解决之道。 缓存的定义 缓存最初的含义&#xff0c;是指用于加速 …

Python导入模块,Python import用法(超级详细)

对于一个真实的 Python 程序&#xff0c;我们不可能自己完成所有的工作&#xff0c;通常都需要借助于第三方类库。此外&#xff0c;也不可能在一个源文件中编写整个程序的源代码&#xff0c;这些都需要以模块化的方式来组织项目的源代码。 使用 import 导入模块的语法&#xf…