计算机网络常识
文章目录
- 1、HTTP
- 2、HTTP状态码
- 1xx(信息性状态码):
- 2xx(成功状态码):
- 3xx(重定向状态码):
- 4xx(客户端错误状态码):
- 5xx(服务器错误状态码):
- 3、DNS
- 组成部分:
- DNS的工作流程:
- 4、Session和Cookie
- 联系:
- 区别:
- 使用Cookie的情景:
- 使用Session的情景:
- 5、GET请求和POST请求
- 1. 参数传递位置:
- 2. 参数长度限制:
- 3. 安全性:
- 4. 数据类型:
- 5. 缓存:
- 6、PING命令
- PING命令的使用
- PING命令的功能
- 7、HTTP和HTTPS
- 1. 安全性:
- 2. 加密方式:
- 3. 端口号:
- 4. 证书:
- 5. 性能:
- 6、Http处理流程
- 7、Https处理流程
- 8、TCP(传输控制协议)和UDP(用户数据报协议)
- 9、IP(Internet Protocol,互联网协议)
- IPv4
- 10、TCP的可靠性
- 1. 序列号和确认机制:
- 2. 窗口机制:
- 3. 超时重传机制:
- 4. 拥塞控制机制:
- 11、ARQ(Automatic Repeat reQuest)
- 12、OSI模型,TCP/IP模型
- OSI模型
- TCP/IP模型
1、HTTP
- 是超文本传输协议(Hypertext Transfer
Protocol)的缩写,是一种用于传输超文本数据的协议。它是互联网上应用最为广泛的协议之一,用于浏览器和Web服务器之间的通信。 - HTTP使用客户端-服务器模型,客户端发送HTTP请求给服务器,服务器根据请求返回相应的HTTP响应。请求和响应都由HTTP协议规定了特定的格式。
- HTTP的基本功能包括传输、请求和响应。它可以传输各种类型的数据,如文本、图像、音频和视频等。
- HTTP请求方法有GET、POST、PUT、DELETE等,用于向服务器发送不同类型的请求。
- HTTP响应状态码表示服务器对请求的处理结果,如200表示请求成功,404表示请求的资源不存在等。
- 除了基本功能,HTTP还支持一些其他的特性,如缓存、认证、安全等。
- 通过HTTP头部字段,可以传递一些附加信息,如请求的内容类型、编码方式、Cookie等。
2、HTTP状态码
以下是常见状态码的功能:
1xx(信息性状态码):
100(继续):表示服务器已经收到了客户端的请求,客户端可以继续发送请求的剩余部分。
- 101(切换协议):表示服务器正在根据客户端的请求切换协议。
2xx(成功状态码):
200(成功):表示客户端的请求已成功被服务器接收、理解和处理。
- 201(已创建):表示服务器已成功处理客户端的请求,并创建了新的资源。
- 204(无内容):表示服务器已成功处理了请求,但没有返回任何内容。
3xx(重定向状态码):
301(永久重定向):表示请求的资源已永久移动到新的URL。
- 302(临时重定向):表示请求的资源临时移动到新的URL。
- 304(未修改):表示客户端缓存的资源是最新的,无需重新下载。
4xx(客户端错误状态码):
400(错误请求):表示服务器无法理解客户端的请求。
- 401(未授权):表示客户端未经授权,需要进行身份验证。
- 403(禁止访问):表示服务器拒绝客户端的请求。
- 404(未找到):表示服务器无法找到请求的资源。
5xx(服务器错误状态码):
500(内部服务器错误):表示服务器在处理请求时遇到了错误。
- 502(错误网关):表示服务器作为网关或代理,从上游服务器接收到无效的响应。
- 503(服务不可用):表示服务器暂时无法处理请求,通常是因为服务器过载或维护。
DNS(Domain Name System)是互联网中用于将域名解析为IP地址的系统。它充当了互联网的“电话簿”,将易于记忆的域名转换为计算机可理解的IP地址。
3、DNS
组成部分:
-
DNS服务器:DNS服务器存储着域名和对应的IP地址的映射关系。它们可以分为多个层次的服务器,包括根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器。
-
根域名服务器:根域名服务器是整个DNS层次结构的最顶层,它存储了顶级域名服务器的地址,负责返回顶级域名服务器的IP地址给请求者。
-
顶级域名服务器:顶级域名服务器是指管理特定顶级域名(如.com、.org、.net等)的服务器。每个顶级域名都有一个对应的顶级域名服务器,它负责返回下一级的权威域名服务器的IP地址。
-
权威域名服务器:权威域名服务器是存储着具体域名和对应IP地址映射关系的服务器。当收到查询请求时,它会返回所请求域名的IP地址。
-
本地域名服务器:本地域名服务器是用户计算机或网络中的DNS服务器。当用户发起域名查询时,本地域名服务器会先检查自己的缓存,如果找到了对应的IP地址,则直接返回给用户。如果没有找到,则向其他DNS服务器发送查询请求,获取并缓存相应的IP地址。
DNS的工作流程:
如下:
- 用户在浏览器中输入一个域名。
- 本地域名服务器检查缓存,如果有对应的IP地址,则直接返回给用户。
- 如果缓存中没有对应的IP地址,则本地域名服务器向根域名服务器发起查询请求。
- 根域名服务器返回顶级域名服务器的IP地址给本地域名服务器。
- 本地域名服务器再向顶级域名服务器发起查询请求。
- 顶级域名服务器返回权威域名服务器的IP地址给本地域名服务器。
- 本地域名服务器最终向权威域名服务器发起查询请求。
- 权威域名服务器返回域名对应的IP地址给本地域名服务器。
- 本地域名服务器将获取到的IP地址缓存,并返回给用户。
- 用户的浏览器使用获取到的IP地址与目标服务器建立连接。
4、Session和Cookie
都是用于在Web应用中跟踪用户状态和存储用户信息的机制,但它们有一些联系和区别。
联系:
- 存储用户信息:Session和Cookie都可以用于存储用户相关的信息,例如用户ID、用户名、购物车内容等。
- 跨页面保持状态:Session和Cookie都可以用于在不同页面之间保持用户的状态,以便用户在整个会话期间保持登录状态或进行个性化设置。
- 服务器端存储:Session和Cookie的数据都是存储在服务器端的,客户端只保存了对应的标识符。
区别:
- 存储位置:Cookie是将数据存储在客户端的浏览器中,而Session是将数据存储在服务器端的内存或数据库中。
- 安全性:由于Cookie是存储在客户端,所以容易受到跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等安全攻击。而Session的数据存储在服务器端,相对来说更安全。
- 存储容量:Cookie的存储容量较小,一般不超过4KB。而Session的存储容量较大,可以存储更多的数据。
- 生命周期:Cookie可以设置过期时间,可以在浏览器关闭后仍然存在,而Session的生命周期通常与用户会话相关,当用户关闭浏览器后,Session会被销毁。
使用Cookie的情景:
- 假设有一个电子商务网站,用户在登录页面输入用户名和密码进行登录。
- 如果选择使用Cookie来保持用户的登录状态,服务器在验证通过后会生成一个包含用户信息的加密字符串,并将该字符串存储在一个名为"login"的Cookie中,然后将该Cookie发送给客户端浏览器。
- 客户端浏览器会保存该Cookie,并在每次请求该网站的时候将该Cookie发送给服务器。
- 服务器通过解析Cookie中的信息来识别用户,并保持用户的登录状态。
- 这样,用户在整个会话期间都可以保持登录状态,无需每次都重新输入用户名和密码。
使用Session的情景:
- 假设有一个博客网站,用户在登录页面输入用户名和密码进行登录。如果选择使用Session来保持用户的登录状态,服务器在验证通过后会为该用户在服务器端创建一个唯一的Session对象,并生成一个Session ID。
- 然后,服务器将该Session ID发送给客户端浏览器,并将该Session对象存储在服务器端的内存或数据库中。
- 客户端浏览器会保存该Session ID,并在每次请求该网站的时候将该Session ID发送给服务器。
- 服务器通过Session ID来识别用户,并从服务器端的存储中获取对应的Session对象,以获取用户的登录状态和其他相关信息。
综上所述,
- 对于需要在客户端保持状态的场景,例如记住登录状态、保持个性化设置等,可以选择使用Cookie。
- 而对于需要在服务器端保持状态的场景,例如存储用户信息、保持会话状态等,可以选择使用Session。
5、GET请求和POST请求
是HTTP协议中常用的两种请求方法,它们在发送请求和接收响应时有一些区别。
1. 参数传递位置:
在GET请求中,参数是通过URL的查询字符串(query string)传递的,即将参数附加在URL的末尾,以"?“符号开始,参数之间使用”&"符号分隔。而在POST请求中,参数是通过请求体(request body)传递的,即将参数放在请求的主体部分。
2. 参数长度限制:
由于GET请求将参数直接附加在URL中,URL的长度是有限制的。不同的浏览器和服务器对URL长度的限制可能不同,一般来说,GET请求的参数长度应该控制在2KB左右。而POST请求没有长度限制,可以传输大量的数据。
3. 安全性:
GET请求的参数会显示在URL中,可以被用户轻易看到,因此不适合传递敏感信息。而POST请求的参数在请求体中,不会显示在URL中,相对更安全。
4. 数据类型:
GET请求一般用于获取数据,不会对服务器产生副作用,也不会改变服务器的状态。而POST请求一般用于提交数据,可能会对服务器产生副作用,比如创建、更新或删除资源。
5. 缓存:
GET请求可以被浏览器缓存,下次再请求相同的URL时可以直接从缓存中获取数据。而POST请求一般不会被缓存,每次请求都会从服务器获取最新数据。
6、PING命令
是一个网络诊断工具,用于测试主机之间的连通性。它通过向目标主机发送ICMP(Internet Control Message Protocol)回显请求消息,然后等待目标主机返回回显回复消息,从而判断网络连接状况。
PING命令的使用
很简单,只需要在命令行窗口中输入"ping"加上目标主机的IP地址或域名,然后回车即可。
例如,"ping www.google.com"或"ping 192.168.0.1"。
PING命令的功能
主要包括以下几个方面:
- 测试网络连接:通过向目标主机发送ICMP请求,可以检测网络是否正常连接,以及网络延迟情况。
- 测试主机是否在线:如果目标主机能够回复PING请求,说明该主机正常在线工作。
- 测试网络质量:通过PING命令返回的延迟时间(ping延迟)可以判断网络的质量,延迟时间越小,网络质量越好;延迟时间越大,网络质量越差。
- 检测网络故障:如果PING命令返回的是超时或失败的消息,说明网络可能存在故障,可以通过这种方式进行初步排查。
- 获取目标主机的IP地址:如果在PING命令中使用域名而不是IP地址,它会将域名解析为IP地址,帮助我们了解目标主机的具体IP地址。
7、HTTP和HTTPS
是用于在客户端和服务器之间进行数据传输的协议,它们之间主要区别如下:
1. 安全性:
HTTP是明文传输协议,数据在传输过程中不经过任何加密处理,容易被窃听和篡改。而HTTPS通过使用SSL/TLS协议对数据进行加密,保证了数据传输的安全性,防止了数据被窃听和篡改。
2. 加密方式:
HTTP不进行数据加密,而HTTPS使用SSL/TLS协议对数据进行加密。SSL/TLS协议使用了公钥加密和对称加密两种方式,保证了数据的机密性和完整性。
3. 端口号:
HTTP默认使用80端口进行通信,而HTTPS默认使用443端口进行通信。这样的区分使得服务器能够根据端口号来区别处理HTTP和HTTPS的请求。
4. 证书:
HTTPS需要使用数字证书来验证服务器的身份。证书由权威的第三方机构颁发,用于证明服务器的合法性和可信度。客户端在建立HTTPS连接时会验证服务器的证书,确保通信的安全性。
5. 性能:
由于HTTPS需要进行加密和解密的操作,相比HTTP而言,会稍微增加一些计算和通信的开销,因此在性能上可能略有差异。
总结来说,HTTP是一种不安全的协议,适用于对数据安全性要求不高的场景,而HTTPS通过使用加密技术确保了数据传输的安全性,适用于对数据安全性要求较高的场景,如在线支付、网上购物等。在现代互联网中,随着对数据安全和隐私的要求不断提高,HTTPS的应用越来越广泛。
6、Http处理流程
HTTP(超文本传输协议)是一种用于在Web浏览器和Web服务器之间传输数据的协议。它使用明文传输数据,不提供数据的加密和安全性保护。HTTP的处理流程如下:
客户端发起HTTP请求:客户端(通常是Web浏览器)向服务器发送HTTP请求,其中包括请求的方法(GET、POST等)、请求的URL、请求头和请求体等信息。
服务器接收和处理请求:服务器接收到客户端的请求后,根据请求的URL和方法执行相应的操作,如获取资源、处理表单数据等。
服务器发送HTTP响应:服务器根据处理结果生成HTTP响应,包括响应的状态码、响应头和响应体等信息,然后将响应发送回客户端。
客户端接收和处理响应:客户端接收到服务器的响应后,根据响应的状态码和内容进行相应的处理,如显示网页内容、处理响应数据等。
7、Https处理流程
HTTPS(超文本传输安全协议)是在HTTP基础上加入了安全性保护的协议。它使用SSL/TLS协议对数据进行加密和身份验证,确保数据传输的安全性。HTTPS的处理流程如下:
客户端发起HTTPS请求:客户端向服务器发送HTTPS请求,其过程与HTTP相似。
服务器发送数字证书:服务器在响应中发送数字证书给客户端,证书中包含了服务器的公钥和其他信息。
客户端验证证书:客户端使用内置的证书颁发机构(CA)列表来验证服务器发送的证书的合法性和有效性。验证包括检查证书的签名、有效期和颁发机构等。
客户端生成随机密钥:客户端生成一个随机的对称密钥,用于后续的数据加密和解密。
客户端使用服务器的公钥加密密钥:客户端使用服务器的公钥对生成的随机密钥进行加密,然后将加密后的密钥发送给服务器。
服务器使用私钥解密密钥:服务器使用自己的私钥对收到的加密密钥进行解密,得到客户端生成的随机密钥。
客户端和服务器之间的加密通信:客户端和服务器使用客户端生成的随机密钥进行对称加密通信,保证数据的安全性。
值得注意的是,HTTPS还可以进行证书链验证和服务器身份验证等操作,以确保通信的安全性和可靠性。
8、TCP(传输控制协议)和UDP(用户数据报协议)
是两种常用的网络传输协议,用于在计算机网络中传输数据。它们在以下几个方面存在差异:
-
可靠性:TCP是一种可靠的协议,它通过使用确认和重传机制来确保数据的可靠传输。如果数据包丢失或损坏,TCP会自动重新发送丢失的数据包。而UDP是一种不可靠的协议,它不提供确认和重传机制,发送的数据包可能会丢失或者以无序的方式到达。
-
连接性:TCP是一种面向连接的协议,通信双方在传输数据之前需要建立一个连接。连接的建立需要进行三次握手,而断开连接需要进行四次挥手。UDP是一种无连接的协议,通信双方之间没有建立连接的过程。
-
速度:由于TCP提供了可靠性保证和连接管理,因此它的传输速度相对较慢。UDP则没有这些额外的开销,因此传输速度较快。
-
适用场景:由于TCP的可靠性和连接管理特性,它适用于需要确保数据完整性和顺序性的应用,如文件传输、电子邮件等。UDP则适用于对实时性要求较高的应用,如音视频传输、实时游戏等。
需要注意的是,TCP和UDP并不是对立的选择,而是根据应用场景的需求来选择合适的传输协议。在某些情况下,也可以将它们结合使用,例如在音视频传输中,可以使用UDP来传输实时数据,而使用TCP来传输控制信令和重要的控制信息。
9、IP(Internet Protocol,互联网协议)
是一种网络层协议,它负责在计算机网络中传输数据包。IP协议定义了数据包的格式和路由选择的机制,使得数据包能够在不同的网络之间传输。
IPv4
(Internet Protocol Version 4,互联网协议第四版)
- 是IP协议的一种具体实现,它是目前广泛使用的IP协议版本。
- IPv4使用32位地址表示网络上的主机或设备,这些地址由四个8位的数字组成,每个数字范围从0到255,以点分十进制的形式表示。
- 例如,192.168.0.1就是一个IPv4地址。
IPv4提供了一些基本功能,包括:
- 数据包分组和封装:IPv4将传输的数据分割成小的数据包,并封装成IP数据包进行传输。
- 地址寻址和路由:IPv4使用IP地址来唯一标识网络上的主机或设备,通过路由选择机制,将数据包从源地址发送到目标地址。
- 差错检测:IPv4使用校验和来检测数据包在传输过程中是否出现错误,以保证数据的完整性。
- 分片和重组:如果数据包的大小超过了网络的最大传输单元(MTU),IPv4会将数据包进行分片,并在目标地址处进行重组。
- TTL(Time to Live):TTL字段用于限制数据包在网络中的存活时间,以防止数据包在网络中无限制地传输。
尽管IPv4在全球范围内广泛使用,但是由于互联网的快速发展和IP地址的有限性,IPv4的地址空间已经逐渐枯竭。因此,为了满足更多的设备连接和互联网的需求,IPv6(Internet Protocol Version 6,互联网协议第六版)作为IPv4的升级版本被提出和使用。IPv6使用128位地址,具有更大的地址空间和更多的扩展功能,以逐步替代IPv4。
10、TCP的可靠性
是通过以下几种原理和机制来实现的:
1. 序列号和确认机制:
每个TCP报文段都有一个序列号,用于标识报文段在发送方和接收方之间的顺序。接收方通过确认序列号来告知发送方已收到的数据。如果发送方未收到确认,就会重新发送数据。
2. 窗口机制:
TCP使用滑动窗口机制来控制发送方和接收方之间的数据流量。发送方通过窗口大小来控制发送的数据量,接收方通过窗口大小来告知发送方可以接收的数据量。这样可以避免发送方发送过多的数据导致接收方无法及时处理。
3. 超时重传机制:
TCP使用超时重传机制来确保数据的可靠传输。发送方在发送数据后会启动一个定时器,如果在规定的时间内未收到确认,则认为数据丢失,会重新发送数据。
4. 拥塞控制机制:
TCP的拥塞控制机制用于避免网络拥塞。当网络出现拥塞时,TCP会减少发送速率以避免进一步加重网络负载。拥塞控制机制包括慢启动、拥塞避免和快速恢复等算法。
11、ARQ(Automatic Repeat reQuest)
是一种通过确认和重传机制实现可靠数据传输的协议。
ARQ协议主要用于在不可靠信道上进行数据传输,确保数据的完整性和正确性。
ARQ协议的基本原理是发送方发送数据后,接收方会对接收到的数据进行检验,并发送确认信息给发送方。
如果发送方未收到确认信息或者接收方检验出错,发送方会重新发送相应的数据。
ARQ协议主要包括以下几种类型:
停止等待ARQ:发送方每发送一个数据帧就会等待接收方的确认,只有收到确认后才能发送下一个数据帧。如果发送方未收到确认,会重新发送相同的数据。
连续ARQ:发送方可以连续发送多个数据帧,而不需要等待接收方的确认。接收方在收到数据帧后会发送累积确认,确认已经接收到的数据帧,未收到的数据帧会被发送方重新发送。
选择性重传ARQ:接收方在收到数据帧后会发送确认信息,确认已经接收到的数据帧。如果发送方未收到确认信息,会认为数据帧丢失,会选择性地重新发送丢失的数据帧,而不是重传所有的数据帧。
ARQ协议通过确认和重传机制,能够提高数据的可靠性和正确性。不过,ARQ协议会增加传输延迟和带宽占用,因为需要等待确认和重传数据。因此,在设计网络协议时需要根据具体的需求和网络条件选择合适的ARQ协议类型。
12、OSI模型,TCP/IP模型
都是用于描述计算机网络通信的参考模型。
OSI模型
是国际标准化组织(ISO)制定的一种通信协议体系结构,它将网络通信划分为七个不同的层级,每个层级都有特定的功能和协议。这些层级分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层级之间通过接口进行通信,从物理层开始传输数据,逐层封装和解封装,最终到达应用层。
TCP/IP模型
是实际应用最广泛的网络通信模型,它由四个层级组成,分别是网络接口层、网络层、传输层和应用层。网络接口层负责处理物理连接和数据链路层的功能,网络层负责数据包的路由和寻址,传输层负责提供可靠的数据传输服务,应用层负责处理特定应用程序的通信需求。
总结来说,OSI模型是一个理论上的参考模型,用于描述网络通信的不同层级和协议。而TCP/IP模型是一个实际应用的网络通信模型,基于这个模型实现了互联网的通信协议,如TCP和IP。
相关文章:
计算机网络常识
文章目录 1、HTTP2、HTTP状态码1xx(信息性状态码):2xx(成功状态码):3xx(重定向状态码):4xx(客户端错误状态码):5xx(服务器…...

React之Jsx如何转换成真实DOM
一、是什么 react通过将组件编写的JSX映射到屏幕,以及组件中的状态发生了变化之后 React会将这些「变化」更新到屏幕上 在前面文章了解中,JSX通过babel最终转化成React.createElement这种形式,例如: <div>< img src&q…...

OpenCV学习(六)——图像算术运算(加法、融合与按位运算)
图像算术运算 6. 图像算术运算6.1 图像加法6.2 图像融合6.3 按位运算 6. 图像算术运算 6.1 图像加法 OpenCV加法是饱和运算Numpy加法是模运算 import cv2 import numpy as npx np.uint8([250]) y np.uint8([10])# OpenCV加法 print(cv2.add(x, y)) # 25010 260 > 255…...

如何做好一次代码审查,什么样是一次优秀的代码审查,静态代码分析工具有哪些
代码审查是确保代码质量、提升团队协作效率、分享知识和技能的重要过程。以下是进行优秀代码审查的一些指南: 如何做好代码审查: 理解代码的背景和目的: 在开始审查前,确保你了解这次提交的背景和目的,这有助于更准确…...
【Android】一个contentResolver引起的内存泄漏问题分析
长时间的压力测试后,系统发生了重启,报错log如下 JNI ERROR (app bug): global reference table overflow (max51200) global reference table overflow的log 08-08 04:11:53.052912 973 3243 F zygote64: indirect_reference_table.cc:256] JNI ER…...

2023年正版win10/win11系统安装教学(纯净版)
第一步:准备一个8G容量以上的U盘。 注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,防止资料丢失。 第二步:制作系统盘。 安装win10 进入windows官网 官网win10下载地址:https://www.microsoft.c…...
系统架构设计师-第11章-未来信息综合技术-软考学习笔记
未来信息综合技术是指近年来新技术发展而提出的一些新概念、新知识、新产品 信息物理系统(CPS ) ,人工智能( A l) ,机器人、边缘计算、数字孪生、云计算和大数据等技术 信息物理系统技术概述 信息物理系统的概念 信息物理系统是控制系统、嵌入式系统…...
Python __new__()方法详解
__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。 一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之…...

虹科 | 解决方案 | 汽车示波器 索赔管理方案
索赔管理 Pico汽车示波器应用于主机厂/供应商与服务店/4S店的协作,实现产品索赔工作的高效管理;同时收集的故障波形数据,便于日后的产品优化和改进 故障记录 在索赔申请过程中,Pico汽车示波器的数据记录功能可以用于捕捉故障时的…...

详解Jmeter中的BeanShell脚本
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的,学了Java的一些基本语法后,就可以来在Jmeter中写写BeanShell脚本了 在利用jmeter进行接口测试或者性能测试的时候,…...
前端和后端 优化
1.前端资源优化 1.1 html结构优化 保证简洁、清晰的html结构,减少或避免多余的html标签 使用HTML5的web语义化标签,结构清晰且利于seo css文件在head中引入,js文件放在body底部引入,这样做可以防止阻塞。另外如果有需要提前加载的…...
C++编译与运行:其二、编译期和运行期的区别
C的编译分为四步,最终生成一个可执行文件。 C的运行,就是将可执行文件交给操作系统,按照机器码逐步执行,运行功能。 先看一个非常非常有趣的例子: class Father{ public:virtual void f(){cout<<"I am fat…...

汽车电子专有名词与相应技术
1.EEA (Electronic & Electrical Architecture 电子电气架构) EEA在宏观上概括为物理架构与逻辑架构的结合,微观上通过众多电子元器件的协同配合,或集成式或分布式的系统级电子电气架构,具体详见专栏 新能源汽车电…...
idea 没加载 provided的包
目录 前言解决方案 前言 我的版本是IntelliJ IDEA 2022.1.4 (Community Edition),本地调试不知道为什么不加载provided的包。后来找到这篇文章https://youtrack.jetbrains.com/issue/IDEA-107048才知道这是个bug。不知道其他版本会不会出现这种问题。 解决方案 我…...

Hover:借贷新势力崛起,在经验与创新中找寻平衡
复苏中的Cosmos 如果让我选择一个最我感到可惜的区块链项目,我会选择Cosmos。 Cosmos最早提出并推动万链互联的概念,希望打通不同链之间的孤岛,彼时和另一个天王项目Polkadot号称跨链双雄。其跨链技术允许不同的区块链网络互相通信…...
软件设计原则-依赖倒置原则讲解以及代码示例
依赖倒置原则 一,介绍 1.前言 依赖倒置原则(Dependency Inversion Principle,DIP)是面向对象设计中的一个重要原则,由Robert C. Martin提出。 依赖倒置原则的核心思想是:高层模块不应该依赖于低层模块&…...

Linux--进程替换
1.什么是进程替换 在fork函数之后,父子进程各自执行代码的一部分,但是如果子进程想要执行一份全新的程序呢? 通过进程替换来完成,进程替换就是父子进程代码发生写时拷贝,子进程执行自己的功能。 程序替换就是通过特定的…...

【计算机网络】TCP协议
文章目录 1. TCP报文的结构2. TCP的发送缓冲区和接收缓冲区3. 确保可靠性序列号和确认序列号确认应答超时重传连接管理1️⃣三次握手建立连接2️⃣四次挥手断开连接 4. 提高性能流量控制滑动窗口拥塞控制延迟应答捎带应答 5. 面向字节流6. TCP/UDP对比 概念:TCP&…...
机器学习数据集:Kaggle
什么是Kaggle? Kaggle成立于2010年,是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲,可以提供一些数据,进而提出一个实际需要解决的问题;从参赛者的角度来讲,他们将组队参与项目,针…...
软考 系统架构设计师系列知识点之设计模式(4)
接前一篇文章:软考 系统架构设计师系列知识点之设计模式(3) 所属章节: 老版(第一版)教材 第7章. 设计模式 第2节. 设计模式实例 3. 行为型模式 行为型模式可以影响一个系统的状态和行为流。通过优化状态…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...