- 博客(23)
- 收藏
- 关注
原创 计网:应用层
DHCP 服务器收到 DHCP Discover 包后,会从地址池中选择一个可用的 IP 地址,并通过 DHCP Offer 包提供给客户端。DHCP 服务器收到 DHCP Request 包后,会发送一个 DHCP 确认包,正式分配 IP 地址和其他配置信息。当设备(DHCP 客户端)加入网络时,它会发送一个 DHCP 发现广播包,寻找可用的 DHCP 服务器。客户端收到 DHCP Offer 包后,会发送一个 DHCP 请求包,确认接受提供的 IP 地址。它的核心功能是建立远程连接并传输命令和响应。
2025-10-27 11:00:50
747
原创 计网:运输层
确认迟到:发送端正常发送数据,接收端返还了ACK,但是ACK回传的时间过长导致超时,于是触发发送端的超时重传,但是由于上一个ACK还在传输所以这个数据会被丢弃,而该ACK传达时又会被认定为重复的ACK,这时发送端和接收端就会进行第二轮的传输。服务器在发送完数据之后,CLOSE_WAIT结束之后,向客户端发送FIN+ACK包,即报文中FIN=1,ACK=1,同时确认码还为u+1,并且设置自己的序列号w。同意连接,因此在将要发送的报文中另SYN=1,ACK=1,将确认号置为x+1,并且随机生成一个序列号y。
2025-10-27 11:00:13
720
原创 计网:网络层
多播使用一种虚拟组地址的概念进行工作, 数据包的目的地址不是一个而是一组, 形成多播组地址, 因此, 为多播通信保留了大量多播地址空间。进行服务时会先建立一条链路,由各个节点构成,且进行通信时,一定会按照当时建立链路的节点顺序进行,缺点就是其中一个节点故障后,整条已建立的链路就会失效,但由于虚电路服务是依靠网络进行通信,所以还算可靠。不需要建立链路连接,通信分组后自由选择合适的路径进行通信,节点故障时不一定会影响所有分组的通信,但由于该通信是依靠于用户主机,尽最大努力去交付,因此是一种不可靠的服务。
2025-10-27 10:59:39
649
原创 计网:数据链路层
2.零比特填充:同步传输使用零比特填充,在发送端,先扫描整个信息段,只要发现5个连续1,则立即填入一个0,接收时,删除一个0。1.字节填充:异步传输使用字节填充:发送时,如原载荷中含帧定界符,转义字符和控制字符,则应在其前面插入转义字符“7D"封装成帧:IP数据报(MTU,最大为1500字节)在该层被封装为帧(为IP数据报加上帧首部SOH和尾部EOT)第一部分:首部,由Flag标志(7E),Address地址(FF),Control控制(03),协议 组成。链路:指的是从一个结点到相邻结点的一段物理线路,
2025-10-27 10:59:06
406
原创 计网:物理层
若用V表示每个码元离散电平的数目(码元的离散电平数目是指有多少种不同的码元,比如有16种不同的码元,则需要4位二进制位,因此数据传输率是码元传输率的4倍),则极限数据率为:理想低通信道下的极限数据传输率=2Wlog2V (单位:b/s)。tips:由于不同设备的时钟频率存在差异,传输大量数据时,所产生判别时刻的累计误差会导致对比特信号的判别错位,需要采取方式使双方时钟同步。同步传输:数据块以稳定的比特流形式传输,字节之间没有间隔,接收端在每个比特的中间时刻进行检测,以判别接收到的是比特0或是比特1。
2025-10-27 10:58:28
543
原创 计网:概述
定义:由若干节点和连接这些节点的链路组成。节点可以是计算机,集线器,交换机或路由器等。互连网:多个网络通过一些路由器相互连接起来,构成覆盖范围更大的计算机网络,与网络相连的计算机称为主机。世界上第一个分组交换网:ARPANET。互联网组成:边缘部分:由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据,音频或视频)和资源共享。核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(连通性和交换)。服务器:核心定位:它不是一种网络设备,而是一台功能强大的计算机(硬件+软件),专门
2025-10-27 10:56:47
652
原创 Java第十六期(io流)
System.in标准输入流,对应键盘或控制台输入,该流变量为InputStream类型的对象System.out标准输出流,对应计算机显示器,该流变量为PrintStream类型的对象System.err标准错误输出流try{System.out.println("输入:");System.out.println("输入内容为:"+r.readLine());
2025-08-23 20:25:56
620
原创 Java第十五期(日期时间类)
是一个抽象类,为特定的时间之间的转换提供了操作方法,也为获取日历和操作日历提供了便捷方法,该类不能直接用new关键字来初始化,但它提供了getInstance()方法,用来获取该类的对象,并通过当前系统的时间和日期初始化对象。DateFormat的子类,但Simple是与本地语言环境相关的,允许选择任何用户自定义的日期时间格式,且该类可以通过new关键字实例化。该类也可以使用parse()方法将字符串转换为Date对象,以及使用format()方法将Date对象转换为自定义的日期时间格式的字符串。
2025-08-11 21:24:05
267
原创 Java第十四期(反射,注解)
使用@interface关键字创建自定义注解,注意要加上元注解来描述注解的使用方式和范围,自定义注解不能继承其他的注解或者接口,可以通用default来声明参数默认值,注解中的方法不允许使用protected,private修饰符,也无需加public,保持默认即可。@SuppressWarnings用于指示编译器忽略注解中声明的警告,它有一个类型为String数组的成员,这个成员的值为要被忽略的警告名。@Override是一个标记注解类型,标注在方法上,用于检查该方法是否为重写方法。
2025-08-06 21:29:04
1736
原创 Java第十三期(集合)
Set接口继承了Collection接口,且与List类似,也支持元素的插入和移除,但是Set集合不能包含重复的元素,准确来说是不能包含满足equals()方法的两个对象/数值/字符串。TreeMap是基于红黑树结构的,因此对键值对的存储具有一定的顺序,TreeMap既可以使用键值对对映射的自然顺序对映射关系进行排序,也可以根据创建Map集合时提供的Comparator比较器的顺序进行排序。实现了Set接口,由哈希表支持,不保证Set内元素的顺序,因此每次在访问或迭代遍历时取出元素的顺序并不相同。
2025-07-16 21:46:05
818
原创 Java第十二期(枚举泛型)
一种特殊的数据类型,能够将一系列相同含义的,预先定义好的常量组合起来。使用枚举值可以通过“枚举类名.枚举值名”来访问,e.g:ColorEnum.RED枚举常见方法枚举类型中可以添加构造方法,但是该方法必为私有的,即被private修饰。
2025-07-11 15:23:57
333
原创 Java第十一期(正则表达式)
正则表达式(regular expression,regex,regexp,RE)顾名思义,是一种匹配字符串的模式。
2025-06-10 22:13:46
580
原创 Java第十期(字符串)
还有replaceAll(String regex被换的, String replacement换的)方法,可以替换指定对象中所有匹配入参正则表达式的子字符串。compareTo(String anotherString)按照ASCII码值比较两个字符串,相等返回0,对象大于入参返回大于零的值,否则返回小于零的。replace(int start,int end,String str)可以将整个字符串序列中指定范围内的字符序列统一替换成新的入参字符串。对应的,就会有lastIndexOf(),
2025-06-03 21:58:42
712
原创 Java第九期(异常)
异常指的是Java在运行时可能出现的错误或非正常情况,如程序试图打开不存在的文件,在程序中除以0等,对于异常,程序会将其抛出并进行处理,异常处理会影响程序的控制流程,通常情况下是将程序中止并弹出错误提示。
2025-05-07 22:03:27
631
原创 Java第八期(多态,对象类型转换,内部类)
是指不同类的对象在调用同一个方法时表现出来的多种不同行为。准确来说,就是在同一个方法中,这种由于参数不同而导致执行效果不同的现象就是多态。主要有两种表现:1.方法的重载;2.对象的多态(方法重写)
2025-04-07 20:46:38
521
原创 Java第七期(继承,抽象类,接口)
声明格式:借助extends关键字运行结果:从运行结果可以看到,子类dog类成功继承访问了父类animal类的getname,setname,getage,setage方法,并通过在子类中定义的get set color方法实现对牧羊犬的描述。但要注意的是:1.子类只能访问父类中用public和protected修饰的属性和方法;2.Java只支持单继承,只能有一个直接父类,像这种情况是不允许的。3.多个类可以继承同一个父类;4.支持多层继承,即:a是b的父类,b是c的父类,则a也是c的父类;
2025-03-31 20:25:13
1592
原创 Java第六期(静态,代码块)
使用情景:修改某个对象属性的值,希望所有该对象的属性都变成这个值,但非静态属性是对象所有的,并不是共享的,如果要实现所有对象的这个属性都发现变化,就得将赋值操作重复n次,因而我们通过static关键字使该属性变成公共属性,修改其中一个对象的属性值就可以影响全局。构造块:直接在类中定义的代码块,在实例化对象时,构造块都会先于构造方法执行,这与构造块写在类中的前后位置无关。4种类型:普通代码块,构造块,静态代码块,同步代码块。用于修饰类的成员(成员变量,成员方法,代码块等)),静态代码块就会执行一次(
2025-03-28 19:37:40
477
原创 Java第五期(封装,构造方法)
默认构造方法:Java中每个类至少有一个构造方法,如果没有(有的话就不会自动生成),则系统会自动为这个类创建一个默认的构造方法,该方法没有参数,方法体中也没有任何代码,也就是什么都不做。,如果此时外界想要访问私有属性,则需借助public修饰的方法,如获取属性值的getXXX()方法 getter方法和设置属性值的setXXX()方法 setter方法。3.不能在构造的方法中使用return返回一个值,但可以单独写return作为方法的结束,也就是说return后面啥都没有。1.构造方法名与类名保持一致;
2025-03-26 20:55:36
279
原创 Java编程第四期(类,对象)
1.封装性:将对象的属性和行为看成一个整体,同时将一些不想让外界知道的信息隐藏。2.继承性:通过继承,我们可以将类重复使用,并在需要的时候将类的功能进行扩展,能大大提高代码的复用性。3.多态性:指的是类定义的属性和方法被其它类继承后,他们可以具有不同的数据类型或表现出不同的功能。类:用于描述多个对象的共同特征,是对象的模板。对象:用于描述现实中的个体,是类的实例。格式: e.g: 局部变量与成员变量:定义在方法中的称为局部变量,定义在类中的为成员变量,如果方法和类中定义的成员变量和局部变量同名,这种
2025-03-21 21:52:19
528
原创 Java第三期(数组)
类型 [ ] 数组名 =new 类型[ ] {元素,元素……}或者类型[ ] 数组名={元素,元素……1.数组遍历:通过循环语句一次访问数组的每个元素(注意确保数组索引没有越界)数组构成方式:数据类型[ ]数组名;数组名 =new 数据类型[长度];格式:数据类型[] [] 数组名 =new 数据类型 [行数] [列数];数组四大基本要素:数组名称,数组元素,元素索引,数据类型。动态初始化数组:即系统自动为元素初始赋值;结合遍历的方法,通过反复比较赋值得到最值。再没对数组赋值之前,数组所有元素为零;
2025-03-17 21:36:01
274
原创 Java第二期(变量,运算符,选择结构语句,方法)
其中修饰符决定方法的某些特性,返回值类型决定返回值的数据类型,参数类型限定调用方法时传入的参数的数据类型,return关键字用于返回指定类型的值给调用者。执行嵌套时会先进行内层循环,当内层循环结束时在跳出到外层循环,并进行循环调整到下一轮新的循环,一直执行到外层循环也到循环结束的条件。方法是一串可以重复调用的代码,可以根据我们的需求去执行特定的功能,通过方法名称调用的方法,我们可以极大改善程序的可读性。定义:同一作用域内,方法名相同但是参数个数或者参数类型不同的方法,就叫做方法重载。
2025-03-14 21:50:47
1468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅