网际协议IP
网际协议IP
文章目录
- 网际协议IP
- @[toc]
- 虚拟互联网
- IP地址及其表示方法
- 分类IP地址(两级)
- 无分类编址 CIDR
- 网路前缀
- 地址块
- 地址掩码
- 子网划分(三级IP地址)
- IP地址和MAC地址
- 地址解析协议ARP
- IP数据报的格式
- IP数据报首部的固定部分中的各字段
- IP数据报首部的可变部分
- 分组转发算法
- 网际层控制报文协议ICMP
- ICMP的典型应用
- Ping
- Tracert
- NQA
- 参考
文章目录
- 网际协议IP
- @[toc]
- 虚拟互联网
- IP地址及其表示方法
- 分类IP地址(两级)
- 无分类编址 CIDR
- 网路前缀
- 地址块
- 地址掩码
- 子网划分(三级IP地址)
- IP地址和MAC地址
- 地址解析协议ARP
- IP数据报的格式
- IP数据报首部的固定部分中的各字段
- IP数据报首部的可变部分
- 分组转发算法
- 网际层控制报文协议ICMP
- ICMP的典型应用
- Ping
- Tracert
- NQA
- 参考
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一。
与IP协议配套使用的还有三个协议:
- 地址解析协议 ARP (Address Resolution Protocol)
- 网际控制报文协议 ICMP(Internet Control Message Protocol)
- 网际组管理协议 IGMP(Internet Group Management Protocol)
在这一层中,IP经常要使用ARP这个协议。ICMP和IDMP要使用IP协议。由于网际协议TCP/IP体系中的网络层常常被称为网际层或IP层。
虚拟互联网
一般来讲,将网络互联起来要使用一些中间设备。根据中间设备所在的层次,可用由以下四种不同的中间设备:
- 物理层:转发器(repeater)
- 数据链路层:网桥或称为桥接器(bridge)
- 网络层:路由器(router)
- 网络层以上:网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。
当中间设备时转发器或网桥时,这仅仅将一个网络扩大了,而从网络层的角度来看,这任然是一个网络,一般不称之为网络互联。
当许多计算机通过一些路由器进行互联。由于参加连接的计算机网络都使用相同的网际层协议(Internet Protocol),因此可以把参与互连以后的计算机网络看作是一个虚拟互连网络。所谓的虚拟网络就是逻辑互联网络,它的意思是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。
IP地址及其表示方法
IP地址现在由互联网名字和数字分配机构ICANN进行分配。
IP地址的编址方式经历了三个阶段:
- 分类的IP地址
- 子网的划分
- 构成超网 CIDR
按照灵活度排: 构成超网> 子网划分 > 分类IP地址。
因为,CIDR其实是进一步对子网划分的扩展,所有后面讲的话先讲CIDR,子网划分的部分自然也就清楚了。
IP地址的特点:
- 每一个IP地址都由网络号和主机号两部分组成。这样做的好处时:① IP地址的管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络的单位自行分配。② 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样子就可以使路由表中的项目数大幅度减少,从而减小了路由表所占用的存储空间以及查找路由表的时间。
- 实际上IP地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络时,这种主机称为多归属主机。
- 按照互联网的观点,一个网络号是指具有相同网络号net-id的主机的集合,因此,用转发器或网桥连接起来的若干个局域网仍为一个网络。
- 在IP地址中,所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大的地理范围的广域网)都是平等的。
分类IP地址(两级)
所谓的分类IP地址就是将IP地址划分为若干个固定类。每一类都由两个固定长度的字段组成,分别是网络号和主机号。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个IP地址在整个互联网范围内是唯一的。这种两级的IP地址可以记为:
IP地址::={<网络号>,<主机号>}IP地址 ::= \{ <网络号>, <主机号> \} IP地址::={<网络号>,<主机号>}
从上图中我们就可以比较清晰的看出,各类IP地址网络号和主机号的划分。
A类地址的网络号只有7位可以用,其中网络号全为0的IP地址表示“本网络”,网络号全为1即127(0111 1111)保留作为本地环回测试。因此A类地址可指派的网络号是126个(27−22^7 - 227−2)。(计算其他类的网络数时不需要减2)
A类地址的主机号占3个字节。但全0和全1的主机号一般不指派。全0 的主机号表示该IP地址是“本主机”所连接到的单个网络地址。全1表示该网络上的所224−22^{24} - 2224−2,即16777214.
无分类编址 CIDR
这种编址的方法的全名是 无分类域间路由选择 CIDR(Classless Inter-Domain Routing),其要点有以下三个。
网路前缀
CIDR中将网络号改称为“网络前缀”。CIDR的记法是:
IP地址::={<网络前缀>,<主机号>}IP地址 ::= \{ <网络前缀>,<主机号> \} IP地址::={<网络前缀>,<主机号>}
这里的网络前缀是可以在0-32之前取任意值,这是跟分类IP地址的最大区别。CIDR采用“斜线记法”,即在IP地址的后面加上斜线“/”,斜线的后面是网络前缀所占的位数。
地址块
CIDR把网络前缀都相同的所有连续的IP地址组成一个“CIDR地址块”。例如128.14.35.7/20,包含的网络前缀是20位,剩下的12位是主机号。那么对应的可指派的地址数就是212−22^{12} - 2212−2个
地址掩码
CIDR使用斜线记法可以让我们知道网络前缀的数值。为了让计算机能够识别网络地址是否相同,就要用到地址掩码(掩码)。地址掩码又称为子网掩码。掩码其实就是IP对应的网络号的二进制位全为1,主机号对应的二进制位全为0.例如/20
地址块的地址掩码就是:11111111 11111111 11111111 11110000 00000000。又如A类网络的地址掩码为 255.0.0.0或255.0.0.0/8。所以只要将子网掩码和IP地址相与,就可以得到网络号。
子网划分(三级IP地址)
子网的划分是在分类IP地址上做的一种扩展。换一种说法是将分类IP地址中的部分主机号,也看作是网络号的一部分(子网号)。子网的划分在应用的时候也需要使用到掩码,其用法跟CIDR中的一样。
IP地址和MAC地址
MAC地址已固化在网卡上的ROM中,因此常常将MAC地址称为硬件地址或物理地址。从层次上来看MAC地址是数据链路层的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)。当IP数据报插入到MAC帧以后,整个数据的IP数据就成为MAC帧的数据,因而在数据链路层看不到数据报的IP地址。
地址解析协议ARP
在实际应用中,我们经常会遇到这样一个问题:已经知道了一个机器的IP地址,需要找出其IP地址。地址解析协议ARP就是用来解决这个问题的。要注意的是ARP是解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题。
地址解析协议ARP是在主机的ARP高速缓存中存放一个IP地址到MAC地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。
当主机A要向本局域网上的某台主机发送IP数据报,就先在其ARP告诉缓存中查看有无主机B 的IP地址。如果有就把查到的这个MAC地址写入到MAC帧,然后通过局域网把该MAC帧发送往此MAC地址。
如果无法在自己的ARP缓存中找到,则按照下图的方式找出主机B 的MAC地址。
IP数据报的格式
一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。
IP数据报首部的固定部分中的各字段
-
版本 占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。IPv4的版本号即4.
-
首部长度 占4位,可表示的最大十进制数是15,首部长度字节所表示的数据单位是32字(即4字节)。因为IP首部的固定长度是20字节,因此此首部字段的最小值是5(即0101).当首部的值为15即(1111),表明IP首部的长度最大为60字节。
-
区分服务 占8位。只有当使用区分服务时,这个字段才起作用,在一般情况下都不使用这个字段。
-
总长度 总长度指的是首部和数据部分长度之和,单位是字节。因此数据报的最大长度为216−1=655352^{16} - 1 = 65535216−1=65535字节。但这样长的数据报在现实中是极少遇到的。
在IP层的下面每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,这称为最大传送单元 MTU(Maximum Transfer Unit)。例如,最常用的以太网就规定其MTU值是1500字节。若传送的数据报长度超过数据链路层的MTU值,就会将过长的数据报进行分片处理。
-
标识(identification) 占16位。IP软件在存储器中位置一个计数器,每产生一个数据报,计数器就加1,并赋值给标识字段。相同标识字段的值使分片后的数据报片能正确地重装为原来的数据报。
-
标志(flag) 占3位,但目前只有两位有意义。
- 最低位 MF(More Fragment) MF = 1表示后面还有分片。反之则表示无分片。
- 中间位 DF(Don’t Fragment) DF = 1表示不能进行分片。反之则表示可以分片。
-
片偏移 占13位。片偏移指出:较长的分组在分片或,某片在原分组中的相对位置(相对于用户数据字段的七点)。片偏移以8字节位偏移单位。也就是说,每个分片的长度一定是8字节的整数倍。为了更好地理解,可以看以下例子。要将数据部分长度位3800字节长的IP数据报进行分片,要求分片长度不超过1420字节的数据报片。
-
生存时间 占8位,生存时间字段常用的英文缩写是TTL(Time to Live),表明这是数据报在网络中的寿命。现在TTL的功能改为了“跳数限制”。路由器在每次转发数据报前就把TTL减1.若TTL值减小到零,就丢弃这个数据报,不再转发。因此现在TTL的单位是跳数。数据报在互联网中经过的路由器的最大数值是255,如果TTL初始设置为1说明这个数据报只能在本局域网中传送。
-
协议 占8位,协议字段指出此数据报携带的数据是使用何种协议,让目标主机IP层知道应将数据部分上交给哪个协议进行处理。常用的协议如下:
协议名 ICMP IGMP IP TCP EGP IGP UDP IPv6 ESP OSPF 协议字段值 1 2 4 6 8 9 17 41 50 89 -
首部检验和 占16位。这个字段只检验数据报的首部,但不包括数据部分。检验原理如下图:
-
源地址 占32位
-
目的地址 占32位
IP数据报首部的可变部分
IP数据报的可变部分从1个字节到40个字节不等。其中的内容其实就是选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
分组转发算法
分组转发算法如下:
- 从数据包的首部提取目的主机的IP地址D,得出目的的网络地址为N。
- 若N就是与此路由器直接相连的某个网络地址,则直接交付,不需要再经过其他路由器,直接把数据交付给目的主机(这里包括把目的主机地址D转化为具体硬件地址,把数据报封装为MAC帧,再发送此帧,过程中不修改IP数据报中的IP地址);否则就是简介交付,执行3.
- 若路由表中由目的地址为D的特定主机路由,则把数据传送给路由表中所指明的下一跳路由器(这个也是通过ARP分装为MAC帧然后发送的);否则执行4.
- 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行
- 若路由表中有一个默认路由,则把数据传送给路由表中的默认路由器;否则执行6
- 报告转发分组出错
网际层控制报文协议ICMP
在网际层中使用**网际控制报文协议ICMP(Internet Control Message Protocol)**有效地提高了转发IP数据报的成功交付机会。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP报文的格式如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6uGaTbV-1676383164016)(https://download.huawei.com/mdl/image/download?uuid=1eb415d0e4c042c6a0743284dd2f6cf1)]
ICMP报文的包头中包含三个固定字段就是源端设备确定发生错误类型的主要依据:
- 类型 表示ICMP消息的类型
- 代码 表示ICMP消息类型细分的子类型
- Checksum 表示ICMP报文的校验和
ICMP报文的类型有两种,分别是ICMP 差错报告报文和ICMP询问报文。下面列出一些常见的ICMP报文类型值:
差错报告报文
类型的值 | ICMP报文的类型 |
---|---|
3 | 终点不可达 |
11 | 时间超过 |
12 | 参数问题 |
5 | 改变路由 |
询问报文
类型的值 | ICMP报文的类型 |
---|---|
0或8 | 会送(Echo)请求或回答 |
13或14 | 时间戳请求或回答 |
其中每类对应的type都有很多,如下图。这里就不列举出来了:
ICMP的典型应用
IP数据报及其他应用程序通过ICMP报文可以实现多种应用,其中Ping程序和Tracert(Traceroute)程序最为常见。此外,在网络管理和监测中,网络质量分析NQA(Network Quality Analysis)技术更加充分应用了ICMP。
Ping
Ping程序是最常见的用于检测IPv4和IPv6网络设备是否可达的调试手段,它使用ICMP的echo信息来确定:
- 远程设备是否可达;
- 与远程主机通信的来回旅程(round-trip)的延迟;
- 报文包的丢失情况。
Tracert
Tracert程序主要用于查看数据包从源端到目的端的路径信息,从而检查网络连接是否可用。当网络出现故障时,用户可以使用该命令定位故障点。
Tracert利用ICMP超时信息和目的不可达信息来确定从一个主机到网络上其他主机的路由,并显示IP网络中每一跳的延迟(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等)。下图中利用tracert命令进行测试。
NQA
网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计。NQA能够实时监视网络服务质量,在网络发生故障时进行有效的故障诊断和定位。
利用不同类型的ICMP报文,NQA实现了Ping和Tracert功能的扩展和增强,可以实现对网络运行状况的准确测试,输出统计信息。比如NQA的ICMP测试、ICMP Jitter测试和Trace测试等。
-
ICMP测试
ICMP测试是通过发送ICMP Echo请求报文和Echo响应报文来判断目的地的可达性、计算网络响应时间及丢包率,从而清晰地反映出网络性能及畅通情况。ICMP测试提供类似于命令行下的Ping命令功能,但输出信息更为丰富。
-
ICMP Jitter测试
ICMP Jitter测试是以ICMP报文为承载,通过记录在报文中的时间戳信息来统计时延、抖动、丢包的一种测试方法。Jitter(抖动时间)是指相邻两个报文的接收时间间隔减去这两个报文的发送时间间隔。
-
Trace测试
NQA的Trace测试用于检测源端到目的端的转发路径,并沿该路径记录源设备到中间各个设备的时延等信息。Trace测试类似于Tracert命令功能,但输出信息更为丰富。每一跳信息中能够显示平均时延、丢包、最后一个包接收时间等信息。
参考
- tracert原理
- 《计算机网络 第7、8版》
相关文章:
网际协议IP
网际协议IP 文章目录网际协议IP[toc]虚拟互联网IP地址及其表示方法分类IP地址(两级)无分类编址 CIDR网路前缀地址块地址掩码子网划分(三级IP地址)IP地址和MAC地址地址解析协议ARPIP数据报的格式IP数据报首部的固定部分中的各字段IP数据报首部的可变部分分…...
Python 语言参考手册、教程、标准库
官方文档:https://docs.python.org/zh-cn/3.11/ Python 语言参考手册 介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整。有关内置对象类型、内置函数、模块的语义在 Python 标准库 中介绍。有关本语言的非正式介绍&am…...
数据库连接池 BoneCP、HikariCP 等
文章目录 数据库连接池 BoneCP、HikariCP 等BoneCPDruidTomcat Jdbc PoolHikariCPC3p0DbcpLRUPSCachePS数据库连接池 BoneCP、HikariCP 等 BoneCP 官方说法 BoneCP 是一个高效、免费、开源的 Java 数据库连接池实现库 设计初衷就是为了提高数据库连接池性能,根据某些测试数…...
博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作
硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!一 . SSM 版本相比于 Servlet 版本的亮点二 . 初始化数据库三 . 前端页面3.1 注册页面3.2 登录功能3.3 文章总列表页3.4 自己的文章列表页3.5 文章详情页3.6 编写博客页面大家好 , 这是新的专栏 , 博客系统 SSM…...
[Web] 简单瀑布流布局实现
目前的纯 CSS 布局, 是没办法实现比较完美的瀑布流布局的. 参考: CSS总结:瀑布流布局 - 黑白程序员 我使用 JS CSS, 并且自动布局实现了较为简单, 观赏性好的瀑布流布局. 代码 HTML: <!DOCTYPE html> <html lang"en"> <head><link rel&quo…...
多线程之死锁,哲学家就餐问题的实现
1.死锁是什么 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 2.哲学家就餐问题 有五个哲学家,他们的生活方式是交替地进行思考和进餐…...
UTF-8编码
介绍 UTF-8 编码 UTF-8 是一种针对 Unicode 的可变长度字符编码。 针对 Unicode:UTF-8 是 Unicode 的实现方式之一。相当于 Unicode 规定了字符对应的代码值,这个代码值需要转换为字节序列的形式,用于数据存储、传输。代码值到字节序列的转…...
likeshop单商户SaaS版V1.8.2说明!
likeshop单商户SaaS版V1.8.2主要更新如下: 新增 前端登录引导用户填写头像昵称 PC端—注册页面显示服务协议和隐私政策 PC端—首次进入商城弹出协议提示 PC端—结算页新增门店自提的配送方式 后台—PC端菜单导航栏的跳转链接支持添加自定义链接 优…...
算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零
算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零 最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合…...
nginx-host绕过实例复现
绕过Nginx Host限制第一种处理方法Nginx在处理Host的时候,会将Host用冒号分割成hostname和port,port部分被丢弃。所以,我们可以设置Host的值为2023.mhz.pw:xxx"example.com,这样就能访问到目标Server块:第二种处理…...
Java学习记录day9
类与对象 内部类 成员内部类 在一个类的内部定义的类。 public class Outer {private int a 10;public void outMethod() {System.out.println("这是外部类中的方法");}// 成员内部类public class Inner{private int b 10;public void innerMethod() {// 外部类…...
ActiveReports.NET 17.0 Crack by Xacker
一个完整的报告解决方案,用于在您的业务应用程序中设计、定制、发布和查看报告。 ActiveReports.NET 通过直观的 Visual Studio 集成报表设计器和丰富的控件帮助您提供精美的报表。ActiveReports 提供基于代码的跨平台报告、易于使用的设计器和灵活的 API。适用于桌…...
【计算机网络】传输层TCP协议
文章目录认识TCP协议TCP协议的格式字段的含义序号与确认号六个标志位窗口大小确认应答(ACK)机制超时重传机制连接管理机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况总结认识TCP协议 传输控制协议 (TCP,T…...
Mysql5.7安装【Windows版】
文章目录一、下载二、添加到环境变量三、添加配置文件my.ini四、安装Mysql 修改密码一、下载 下载地址 滑倒最下面有一个MySQL Community Server 选择要下载的版本 二、添加到环境变量 下载好了之后开始解压 把bin目录添加到环境变量 可以点击进入bin目录,直接复…...
分布式一致性算法Raft原理图释
什么是分布式一致性算法Raft 分布式一致性算法Raft:指在分布式场景下实现集群数据同步的解决方案 掌握了这个算法,就可以较容易地处理绝大部分场景的容错和数据一致性需求 Raft三大角色 跟随者(Follower):普通群众…...
网络安全-字典生成-crunch
网络安全-字典生成-crunch crunch工具,在kali已经集成好了 2是代表最小字符长度 4是最大字符长度 生成了一个2M的文件 还有我们来查看这个密码本 从abcd26个英文字母的2位到4位的组合,他全部排列了一次 还可以自定义数字,特殊字符…...
闪光桐人の实习日记
2023年2月13日 1,认识了职场礼仪,学习了职场礼仪的重要性 尊重->心情愉悦->建立信任与好感->合作机遇的敲门砖 2,学习了职场礼仪中的邮件礼仪 模板管理中设置自己的名片 部门写到三级部,如果部门名太长要换一行 发送…...
PostgreSQL 常见配置参数
max_wal_size : 两个检查点(checkpoint)之间,WAL可增长的最大大小,即:自动WAL checkpoint允许WAL增长的最大值。该值缺省是1GB。如果提高该参数值会提升性能,但也是会消耗更多空间、同时会延长崩溃恢复所需…...
JAVA 常用类型之String结构
String在java中我们是用来操作字符串的,但它的底层结构确是一个char[]数组,通过数组的方式将每个字符进行保存。 使用时:String str"ABCD",内部存value确是:value[A,B,C,D]; 如下图: 参考String源…...
二三层网络设备封装与解封装原理
1、寻址转发(寻址指的是寻找IP地址) 路由表放在一个公共的地方,比如主控板上,由主控板 的CPU运行路由协议,计算路由,生成和维护路由表。 转发表与路由表: 转发表是根据路由表生成的。路由表中…...
9、MyBatis框架——使用注解开发实现数据库增删改查操作、一级缓存、二级缓存、MyBatis实现分页
目录 一、使用注解开发实现数据库增删改查操作 1、搭建项目 2、使用注解开发操作数据库 二、一级缓存 1、一级缓存失效的情况 三、二级缓存 1、手动开启二级缓存cacheEnabled 2、二级缓存机制 四、MyBatis实现分页 1、配置环境 2、startPage()开启分页 3、PageInfo…...
C++STL剖析(六)—— set和multiset的概念和使用
文章目录🌟 前言🍑 树型结构和哈希结构🍑 键值对1. set的介绍和使用🍑 set的模板参数列表🍑 set的构造🍑 set的使用🍅 insert🍅 find🍅 erase🍅 swap…...
SpringColud第四讲 Nacos的Windows安装方式和Linux的安装方式
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: 目录 1.Windows安装Nacos 1.1.下载 1.2.解压 1.3.修改相关配置: 1.4.启动: 1.5.登录: 2.Linux的安装方式Nacos 2.1.…...
微服务项目【网关服务限流熔断降级分布式事务】
网关服务限流熔断降级 第1步:启动sentinel-dashboard控制台和Nacos注册中心服务 第2步:在网关服务中引入sentinel依赖 <!-- sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…...
【情人节用Compose给女神写个爱心动画APP】
情人节用Compose给女神写个爱心动画APP前言涉及知识点实现思路实现过程绘制爱心创建动画效果Preview预览效果完整源码彩蛋前言 前一阵子看电视里的学霸用代码写了个炫酷的爱心,网上有很多js和python的源码,复制粘贴就能拥有,但是Android的好…...
GUI swing和awt
GUI(Graphical User Interface,简称 GUI,图形用户界面)是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。Java GUI主要有两个核心库&…...
速通Spring
尚硅谷2023最新版Spring6课程_bilibili 1 Spring 【强制】Spring是什么? 1) Spring是一款主流的Java EE轻量级开源框架。 轻量级:体积很小,且不需要依赖于其他组件。 2) 狭义的Spring。 Spring Framework。 3) 广义的Spring。 以Spring F…...
【C++】C++入门
一、 C关键字(C98) C有63个关键字(C语言有32个),如下: asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseenummutabl…...
Linux网络技术学习(五)—— 网络设备初始化(I)
文章目录什么时候进行的设备初始化?设备注册和初始化NIC(网卡 Network Interface Card)初始化的基本目标设备与内核之间的交互硬件中断中断类型传送节流方式为了改善效率中断共享IRQ处理函数映射的组织irqaction结构体存储方式什么时候进行的…...
[技术选型] ClickHouse和StarRocks的介绍
文章目录1.ClickHouse介绍2.StarRocks介绍1.ClickHouse介绍 ClickHouse是面向联机分析处理(OLAP)的开源分析引擎。最初由俄罗斯第一搜索引擎Yandex开发,于2016年开源,开发语言为C。由于其优良的查询性能,PB级的数据规…...
深圳市官方网站/北京营销型网站
可能是target中并没有加载出来,这时候需要重新打包...
商业网站可以选择.org域名吗/第三方推广平台
2019独角兽企业重金招聘Python工程师标准>>> sudo npm -g install weinre # or whatever 还有更精的。 在MAC 下边, IPHONE 的模拟器 启用PHONEGAP。然后用SAFARI 的开发工具进行调试。 还可以 调试JS 。。TMD 神啊!!࿰…...
intitle 郑州网站建设/天津搜索引擎推广
141. Linked List Cycle 描述: 判断一个单链表中是否存在环思路: 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环࿰…...
西宁网站建设公司/杭州谷歌推广
LeetCode(292) Nim Game 你和你的朋友,两个人一起玩【Nim】游戏:桌子上有一堆石头,每次你们轮流拿掉1-3块石头。拿掉最后一块石头的人就是获胜者。 你作为先手。你们都是聪明人,每一步都是最优解。编写一个…...
sea wordpress/手机端怎么刷排名
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的疫情核酸检查预约系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;;通过后台设置医院信息、录入医院科室信息、录入医生信息、设…...