Java面试——TCP与HTTP
一、Session 和 cookie 的区别
【1】Cookie 保存在客户端,未设置存储时间的 Cookie,关闭浏览器会话 Cookie 就会被删除;设置了存储时间的 Cookie 保存在用户设备的磁盘中直到过期,同时 Cookie 在客户端所以可以伪造,不是十分安全,敏感数据不易保存。Session 保存在服务器端,存储在 IIS 的进程开辟的内存中,而 Session 过多会消耗服务器资源,所以尽量少使用 Session。
【2】Session 是服务器用来跟踪用户的一种手段,每个 Session都有一个唯一标识:session ID。当服务端生成一个 Session 时就会向客户端发送一个 Cookie 保存到客户端,这个 Cookie 保存的是 Session 的 SessionID 这样才能保证客户端发起请求后,用户能够与服务器端成千上万的 Session 进行匹配,同时也保证了不同页面之间传值的正确性。
【3】存储数据类型不同:Session 能够存储任意的 Java 对象,Cookie 只能存储 String 类型的对象。
【4】大于10K 的数据,不要用到 Cookies。
二、TCP三次握手和四次挥手的流程,断开连接如果只有两次握手,会出现什么。
【1】TCP三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。
第一次握手:建立连接时,客户端发送 syn(Synchronize Sequence Numbers:同步序列编号)包(seq=j)到服务器,并进入SYN_SEND(请求连接)状态,等待服务器确认。
第二次握手:服务器接收到 syn包,必须确认客户的 SYN(ack=j+1)(ack:确认字符,表示发来的数据已确认接收无误),同时自己也发送一个 syn包(seq=k),既 SYN+ACK 包,此时服务器进入SYN_RECV(发送了ACK)状态。
第三次握手:客户端收到服务端发送的 SYN+ACK 包,向服务端发送确认包 ACK(ack=k+1),包发送完毕,客户端与服务器进入 ESTABLISHED(TCP连接成功)状态,完成三次握手。
图1: TCP三次握手图
【2】TCP四次挥手(连接终止协议,性质为终止协议):
第一次挥手:TCP客户端发送一个FIN+ACK+SEQ,用来传输关闭客户端到服务端的数据。进入FIN_WAIT1状态。
第二次挥手:服务端收到FIN,被动发送一个ACK(SEQ+1),进入CLOSE_WAIT状态,客户端收到服务端发送的ACK,进入FIN_WAIT2状态。
第三次挥手:服务器关闭客户端连接,发送一个 FIN+ACK+SEQ 给客户端。进入 LAST_ACK 状态。
第四次挥手:客户端发送 ACK(ACK=SQE序号+1)报文确认,客户端进入 TIME_WAIT 状态,服务端收到 ACK 进入 CLOSE状态。
图2: TCP四次挥手
【3】由于TCP连接是双向的,因此每个方向都需要单独进行关闭。原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一个方向上没有数据流动,一个 TCP连接到一个 FIN后仍能发送数据。首次执行FIN的一方主动关闭,另一方则执行被动关闭。当只握手两次时,就只会关闭主动发起的一端,另一个仍能发送数据。
三、TIME_WAIT 和 CLOSE_WAIT的区别
CLOSE_WAIT:等待关闭,是被动关闭连接形成的,也就是第二次挥手时产生的状态。也就是当对方 Close 一个 SOCKET 后发送 FIN 报文给自己,系统会回应一个 ACK 报文给对方,此时进入CLOSE_WAIT状态。接着,我们需要考虑的事情是查看是否还有数据发送给对方,如果没有就可以 Close 这个链接,发送 FIN 给对方,也既关闭连接。所以在 CLOSE_WAIT 状态时,需要查看自己是否需要关闭连接。
TIME_WAIT:是主动关闭连接方形成的,表示收到了对方的 FIN 报文,并发送 ACK 报文,等待 2MSL(Maximum Segment Lifetime:报文最大生存时间)约4分钟时间后进入 CLOSE 状态。主要是防止最后一个 ACK 丢失,由于 TIME_WAIT 等待时间较长,因此 server 端尽量减少关闭。
四、为什么需要 TIME_WAIT 状态
假设最终的 ACK 丢失,服务器将重新发送 FIN,客户端必须维护 TCP 状态信息以便可以重发最终的 ACK,否则发送 RST结果Server 认为发生错误。TCP 实现必须可靠的终止两端的连接(双工关闭),Client 必须进入TIME_WAIT 状态,因为最总的ACK可能发送失败。
五、为什么 TIME_WAIT 状态要保持 2MSL 这么长时间
如果 TIME_WAIT 状态保持时间不足2MSL,第一个连接可以正常关闭,但如果有相同的第二个连接出现,第一个连接的重复报文到达,就会干扰第二个连接。TCP 必须防止某个连接的重复报文在连接终止后出现,所以让 TIME_WAIT 状态等待时间大于2MSL,连接响应方向上的 TCP 报文要么完全响应完毕,要么被丢弃。建立二次连接时,就不会混淆。
六、说说你知道的几种 HTTP 响应码
【1】200 OK:表示客户端请求成功。
【2】400 Bad Request 语义有误:不能被当前服务器理解。
【3】401 Unauthorized: 当前请求需要用户验证。
【4】403 Forbidden: 服务器收到消息,但是拒绝提供服务。
【5】404 Not Found :请求资源不存在。
【6】408 Request Timeout: 请求超时,客户端没有在服务器预备等待的时间内完成发送。
【7】500 Internal Server Error: 服务器发生不可预期的错误。
【8】503 Server Unavailable :由于临时的服务器维护或过载,服务器当前不能处理请求,此状况知识临时的,可恢复。
七、当你用浏览器打开一个链接的时候,计算机做了哪些工作步骤
1)、解析域名。
2)、发起 TCP 的 3 次握手。
3)、建立 TCP 请求后发起 HTTP 请求。
4)、服务器相应 HTTP 请求。
5)、浏览器得到 HTML 代码,进行解析和处理 JSON 数据,并请求 HTML 代码中的静态资源(JS、CSS、图片等)。
6)、浏览器对页面进行渲染。
八、TCP/IP 如何保证可靠性,说说 TCP 头的结构
1)、三次握手。
2)、将数据截断为合理的长度。应用数据被分割成 TCP 认为最合适发送的数据块。
3)、超时重发。
4)、对于收到的请求,给予确认响应。
5)、如果校验出数据包有错,则丢弃报文段,不响应。
6)、对失序数据进行重新排序,发送于客户端。
7)、能够丢弃重复数据。
8)、流量控制。TCP连接的两端都有缓存大小控制,接收端只允许发送端发送自己缓存剩余大小的数据。有效防止缓存溢出。
9)、拥塞控制。当网络阻塞时,减少数据的发送。
【TCP头结构】:
1)、源端口(source port)16 位的字段,定义了发送这个报文段的主机中的应用程序的端口号。
2)、目的端口(destination port)16 位的字段,定义了接收这个报文段的主机中的应用程序的端口号。
3)、序列号(sequence number)32 位的字段,定义了指派给本报文段第一个数据字节的编号。为了保证连接性,要发送的每一个字节都要编上号。序号可以告诉终点,报文段中的第一个字节是这个序列中的哪一个字节。在建立连接时,双方使用各自的随机数生成器生产一个初始序号(inital squence number,ISN),通常两个方向上的 ISN 是不同的。
4)、确认号(acknowledgment nimber)32 位字段定义了报文段的接收方期望从对方接收的字节编码。如果报文段的接收方成功地接收了对方发来的编号为x的字节,那么它就返回x+1作为确认号,确认可以和数据捎带在一起发送。
5)、头部长度(Hlen)(header length)这个4字节字段指出TCP段的头部长度,以32位字段来衡量,头部长度并不规定并可以根据选项字段中设置的参数面改变。
6)、保留(reserved)这个保留字段占用6位,它被保留以提供将来使用。
7)、URG 紧急数据(urgent data)---这是一条紧急信息。
8)、ACK 确认已收到段
9)、PSH 请求在缓冲区尚未填满时发送消息,注意TCP可以等待缓冲区填满之后再发送段,如果需要立即传送,应用程序必须利用push参数来通知协议。
10)、RST 申请重置连接。
11)、SYN 此消息用于在建立连接时同步传输数据的计时器。
12)、FIN 该属性申明发送端已经发送出被传输数据的最后一个字节。
13)、窗口大小(window)16位字段,这个字段定义的是发送TCP的窗口大小,以字节为单位。窗口最大长度是65535字节,这个值通常被称为接收窗口(rwnd),并由接收方来决定。这种情况下,发送方必须服从接收方的指示。
14)、校验和(checksum)16位字段包含的是检验和,检验和是差错控制的手段之一。
15)、紧急指针(urgent point)该字段占用2字节,与URG代码位一起使用并且申明及时使存在着缓冲区溢出也必须紧急接收的数据末端。因此,如果有些数据需要不按照顺序被送往目的应用程序,那么发送端的应用程序必须利用紧急数据参数通知TCP。
16)、选项(option)该字段为变长且可以忽略。他的最大长度为3字节,用于解决一些辅助任务----比如,选择最大段长。选项可以位于TCP头部的末端,其长度必须是8的倍数。
17)、填充(padding)该字段长度不固定,这是个用于补充头部字段使得它的长度为32位字的整数倍的一个伪字段9
九、如何理解HTTP协议的无状态性
HTTP协议是无状态的,指的是HTTP协议对于事务处理没有记忆功能,服务器不知道客户端是什么状态。相当于,打开一个服务器上的网页与上一次打开这个服务器上的网页之间没有任何联系。HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不代表HTTP使用的是UDP协议(无连接)。
十、简述 Http 请求 get 和 post 的区别以及数据包格式
【1】GET请求可被缓存,POST请求不能被缓存。
【2】GET请求被保留着浏览器历史记录中,POST请求不会被保留。
【3】GET请求能被收藏至书签中,POST请求不能被收藏至书签。
【4】GET请求不应在处理敏感数据时使用,POST可以用户处理敏感数据。
【5】 GET请求有长度限制,POST请求没有长度限制。
【6】POST不限制提交的数据类型,所以POST可以提交文件到服务器。
数据包格式 == TCP头结构
十一、HTTP 有哪些 method
★ GET:获取资源。
★ POST:表单提交。
★ HEAD:获取报头信息,HEAD 方法与 GET 方法类似,但并不会返回响应主体。
★ PUT 与 PATCH:更新资源,PUT 对后台来说 PUT 方法的参数是一个完整的资源对象,它包含了对象的所有字段,PATCH 对后台来说 PATCH 方法的参数只包含我们需要修改的资源对象的字段。
★ DELETE:删除资源。
★ OPTIONS:获取目标资源所支持的通信选项,使用 OPTIONS 方法对服务器发起请求,以检测服务器支持哪些 HTTP 方法。
十二、简述 HTTP 请求的报文格式
客户端与服务端通信时传输的内容我们称之为报文。
客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。
图3 POST请求 报文格式
图4 GET请求 报文格式
图5 报文响应格式
十三、HTTP 的长连接是什么意思
长连接是指客户端与服务端建立连接后,不会因完成了一次请求后,它们之间的连接主动关闭。后续的读写操作会继续使用这个链接。 如果一个连接两小时内都没有任何动作,服务器会向客户端发送一个探测报文段、根据客户端主机相应探测4个客户端状态,①、客户端正常时,且服务器可达。此时客户端TCP响应正常,服务器将定时器复位。②、客户端已经崩溃,并且关闭或正在重启,客户端不能响应TCP,服务器将无法收到客户端对探测器的响应。服务器总共发送10个这样的探测,每间隔75秒。如服务器没有收到任何响应,他就认为客户端已经关闭并终止连接。③、客户端崩溃,但已重启。服务器将对其保持探测响应,这个响应是一个复位,使得服务器终止这个连接。④、 客户机正常运行,但是服务器不可达。这种与②类似。
由上可以看出,长连接可以省去较多的TCP建立和关闭操作,减少浪费,节约时间。对于频繁请求资源的客户端适合使用长连接。在长连接的应用场景下,client 端一般不会主动关闭连接,当 client 与 server 之间的连接一直不关闭,随着客户端连接越来越多,server 会保持过多连接。这时候 server 端需要采取一些策略,如关闭一些长时间没有请求发生的连接,这样可以避免一些恶意连接导致 server 端服务受损;如果条件允许则可以限制每个客户端的最大长连接数,这样可以完全避免恶意的客户端拖垮整体后端服务,例如:数据库的连接用长连接。
十四、HTTPS 的加密方式是什么,讲讲整个加密解密流程
加密方式: 【1】对称密码算法:指加密和解密使用相同的密钥,速度高,可加密内容较大,用来加密会话过程中的消息。典型算法 DES、AES、RC5、IDEA(分组加密)RC4。
【2】非对称密码算法:又称为公钥加密算法,是指加密和解密使用不同的密钥,加密速度较慢,但能提供更好的身份认证技术,用来加密对称加密的密钥(公开的密钥用于加密,私有的密钥用于解密)典型的算法RSA、DSA、DH。
【3】散列算法:将文件内容通过此算法加密变成固定长度的值(散列值),这个过程可以使用密钥也可以不使用。这种散列变化是不可逆的,也就是说不能从散列值编程原文,因此散列变化通道常用语验证原文是否被篡改。典型的算法MD5、SHA、BASE64、CRC等。
注意:SSL协议在建立链路时,SSL首先对对称加密的密钥进行对公加密,链路建立好之后,SSL对传输内容使用对称加密。SSL加密过程:参考15问题图7 双向认证: 单向认证作为了解加密过程简化流程。
图6 单向认证
第三步:客户端使用服务端返回的信息验证服务器的合法性,包括:
1)、证书是否过期。
2)、发布服务器证书的CA是否可靠。
3)、返回的公钥是否能正确解开返回证书中的数字签名。
4)、服务器证书上的域名是否和服务器实际域名相匹配。
十五、Http 和 Https 的三次握手有什么区别
题目2中所说的握手为 HTTP 握手的流程,Https 在 Http 的基础上加入了 SSL/TSL 协议,SSL 依靠证书来验证服务器的身份,并为服务器与浏览器之间的通信加密。下图为HTTPS的握手流程。
图7 双向认证
十六、什么是分块传送
1)、分块传送是超文本协议HTTP中的一种传输机制,允许HTTP由网页服务器发送给客户端应用(通常是网页浏览器)的数据可以分成多个部分。分块传送只在HTTP/1.1中提供。HTTP应答消息中发送的数据是整个发送的,Content-Length消息头字段表示数据的长度。数据的长度很重要,因为客户端需要知道哪里是应答消息的结束,以及后续应答消息的开始。然而,使用分块传输编码,数据分解成一系列数据块,并以一个或多个块发送,这样服务器可以发送数据而不需要预先知道发送内容的总大小。通常数据块的大小是一致的,但也不总是这种情况。
2)、对于在发送HTTP头部前,无法计算出 Content-Length 的 HTTP 请求及回复(例如 WEB 服务端产生的动态内容),可以使用分块传输,使得不至于等待所有数据产生后,再发送带有 Content-Length 的 HTTP 头部,而是将已经产生的数据一块一块发送出去。
3)、HTTP BODY 数据成连续的块传输,每块数据的最开始处,指明了该数据块的大小,随后则是CRLF,数据,及结尾CRLF。可见每块数据都是包含在两个CRLF之间,最后一块数据则是0CRLFCRLF,两个CRLF之间没有任何数据;数据大小以16进制字符串表示(不是二进制)。
4)、客户端发送请求时,也可以使用分块传输,但是一般客户端发送请求前,不知道服务端是否支持分块传输,所以,客户端可以发送HTTP头部,表明使用分块传输,假如服务端不支持,将会回复 411(Length Required) 错误,中断请求。
十七、http/1.0、http/1.1和http2.0有什么区别
【1】http/1.0 协议默认使用非持久连接,既在非持久连接下,服务器处理完客户端请求后立即断开 TCP 连接,服务器不跟踪每个客户,也不记录过去的请求。
【2】http/1.1 协议默认使用持久连接,既一个 TCP 可以传输多个 WEB 对象。同时也可通过配置支持非持久连接。
【3】http/1.1 增加了 Host 字段,因为目前一台计算机上有多个虚拟主机共享一个IP地址,请求和响应消息都应该支持 Host 头信息,且请求消息中没有 Host 头信息会报(400 Bad Request)。此外服务器应该接受以绝对路径标记的资源请求。而 http/1.0 中每台服务器都绑定一个唯一的IP,因此,请求消息中的 URL 没有传递主机名(HostName)。
【4】增加了新的状态码 100(Continue)。客户端事先发送一个只带头域的请求,如果服务因权限等拒绝请求,就回送401(Unauthorized)或403;如果服务器接受此请求就回送100,客户端就可以继续发送带实体的完成请求。状态码的使用,在request 发送 body 之前,先发送 header 试探一下 server,如果接受 body,再发送 body。可以节省带宽。
【5】http/1.0 加入了分块编码(Chunked TransferCoding)。发送方将消息分割成若干个任意大小的数据块,每个数据块在发送时都会附上块的长度,最后一个零长度的块作为消息的结束标志。这种发送允许发送方只缓存一个片段,避免缓存整个片段带来的过载。
【6】http/1.1 在 http/1.0 的基础上加入了一些 Cache 的新特性,当缓存对象 Ag e超过 Expire 时变为 stale 对象,Cache 不需要直接抛弃 stale 对象,而是与源服务器进行重新激活(revalidation)
【7】http/2.0 支持多路复用技术,同一个连接并发处理多个请求(NIO),http/1.1 可以通过建立多个 TCP 解决。
【8】http/1.1 不支持 Header 数据的压缩,http/2.0 使用 HPACK算法对数据压缩,降体积提速度。
【9】http/2.0 请求服务器,服务器推送数据时会额外推送客户需要的资源,客户下次调用不用请求直接调用。提升速度。
十八、DNS使用的协议(既使用 TCP 也使用 UDP)
【1】首先了解一下 TCP与 UDP传送字节的长度限制:UDP报文的最大长度为 512字节,而 TCP则允许报文长度超过 512字节。当 DNS查询超过 512字节时,协议的 TC标志出现删除标志,这时则使用 TCP发送。通常传统的 UDP报文一般不会大于512字节。
【2】区域传送时使用TCP,主要有一下两点考虑:辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用 TCP而不是 UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。TCP是一种可靠的连接,保证了数据的准确性。
【3】域名解析时使用 UDP 协议:客户端向 DNS 服务器查询域名,一般返回的内容都不超过 512 字节,用 UDP 传输即可。不用经过 TCP 三次握手,这样 DNS 服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向 DNS 服务器查询的时候使用 TCP,但事实上,很多 DNS 服务器进行配置的时候,仅支持 UDP 查询包。
十九、TCP 粘包和拆包产生的原因
【1】应用程序写入数据的字节大小大于套接字发送缓冲区的大小。
【2】进行 MSS 大小的 TCP 分段。MSS是最大报文段长度的缩写。MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。所以 MSS 并不是 TCP 报文段的最大长度,而是MSS=TCP报文段长度-TCP首部长度
【3】以太网的 payload 大于 MTU 进行 IP 分片。MTU指:一种通信协议的某一层上面所能通过的最大数据包大小。如果 IP 层有一个数据包要传,而且数据的长度比链路层的 MTU 大,那么 IP 层就会进行分片,把数据包分成若干片,让每一片都不超过MTU。注意,IP 分片可以发生在原始发送端主机上,也可以发生在中间路由器上。
【解决办法】:【1】消息定长。例如100字节。
【2】在包尾部增加回车或者空格符等特殊字符进行分割,典型的如FTP协议
【3】将消息分为消息头和消息尾。
【4】其它复杂的协议,如 RTMP协议等。
二十、WEB开发中 Forward 和 Redirected的区别
【1】间接请求转发(Redirect):实际是两次 HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个 URL发出请求,从而达到转发的目的。一般用于避免用户的非正常访问。例如:用户在没有登录的情况下访问后台资源,Servlet可以将该HTTP请求重定向到登录页面,让用户登录以后再访问。在Servlet中,通过调用 response对象的 SendRedirect()方法,告诉浏览器重定向访问指定的URL,示例代码如下:
//Servlet中处理get请求的方法
public void doGet(HttpServletRequest request,HttpServletResponse response){
//请求重定向到另外的资源
response.sendRedirect("资源的URL");
}
【2】直接请求转发(Forward):客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象 request中,保存的对象对于每个信息资源是共享的。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- IDEA、PhpStrom报错:Unable to save settings : Failed to save settings . Please restart IDEA/PhpStrom亲测有效
解决方法:去掉markdown插件 操作步骤: Mac电脑 依次点击左上角PhpStorm->preferences->Inspections->Markdown windown版本 依次点击 File->seting->Inspections->Markdown取消勾选,重启IDE。问题解决...
2024/4/26 4:20:02 - Leetcode_283刷题笔记
1 原题目 Leetcode_283 2 题目大意 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 3 题目分析 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 4 基础知识 数组,双指针 4.1 C的语法 数组的遍历,开辟新数组存储新数据 4.2数据结构 无 4.3…...
2024/5/1 22:21:19 - js数组indexOf封装
function indexOf(arr,item){// 把数组里面的值挨个儿比一遍for(var i in arr){if(item == arr[i]){return i} }return -1}console.log(indexOf([1,2,3,4,5],4))...
2024/4/16 5:06:03 - LCA(倍增法) - 祖孙询问 - AcWing 1172
LCA(倍增法) - 祖孙询问 - AcWing 1172 给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。 有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。 输入格式 输入第一行包括一个整数 表示节点个数; 接下来 n 行每行一对整数 a …...
2024/4/16 5:05:43 - 「Computer Architecture学习」 Data Cache Example
Data Cache Example1. Tag/Index的套路是干嘛的?Index用来区分在哪个way Tag用于区分一个way里面,cache lines的查找(并行);2. 位宽计算64K cache,64-byte blocks, two-way, <9> index, <40> address 一个cache line = 64-byte = 2^6 (0x40) 地址,因此…...
2024/4/17 22:23:51 - 苏嵌嵌入式Linux实训第五天
•运算符 位运算 &|^ >> << ~ 掩码 题:输入一个整数,将其转化成,32位二进制的表现形式 一定操作无符号数!! 掩码 想做计算时,有一个中间量来做与和或 最终获得我想要的数据 按位与运算通常用来对某些未清零或保留某些位 1)清0特定位,mask中特定位置0…...
2024/4/20 10:29:40 - MySQL数据库查询默认是按什么进行排序的
文章中所有操作均是在 MySQL 5.7 版本下进行的引入问题 MySQL 普通查询它是按照什么进行排序的?我们稍微讨论下这个问题。我们先引入一个测试表: drop table if exists tbl_test; create table tbl_test(id int auto_increment primary key,num varchar(50),info varchar(5…...
2024/4/19 14:49:34 - 首页
<scroll-view scroll-y style="height: {{winHeight}}px" bindscroll="scroll"><!-- 搜索框 --><view class="search"><view class="redLayer" style="opacity: {{opacity}}"></view><vie…...
2024/4/16 5:05:38 - [Java Learning Notes] Notes about Containers
array: 数组不能扩展 按下标访问 T array = new T[]; T: [int char string …] Collection: 容器类 List: 接口 -List.add() 添加一个元素,默认尾部添加,可指定位置添加 -List.addAll() 添加一组元素,默认尾部添加,可指定位置添加 -List.remove(index/el…...
2024/4/16 5:06:08 - Java面试——消息队列
一、消息队列的使用场景 ☞ 以下介绍消息队列在实际应用常用的使用场景。异步处理、应用解耦、流量削锋和消息通讯四个场景。 【1】异步处理:场景说明:用户注册后,需要发注册邮件和注册短信。引入消息队列后架构如下:用户的响应时间=注册信息写入数据库的时间,例如50毫秒。…...
2024/4/16 5:05:53 - python 内建函数
python 内建函数 1.所有的内建函数: https://blog.csdn.net/best_of_times/article/details/88628810 2.其他常用内建函数: https://www.cnblogs.com/wgbo/p/9570972.html...
2024/4/16 5:06:08 - Spring相关教程/资料
官网相关Spring官网、Spring系列主要项目、Spring官网指南、官方文档 spring-framework-reference Spring Framework 4.3.17.RELEASE API系统学习教程 文档极客学院Spring Wiki Spring W3Cschool教程 视频网易云课堂——58集精通java教程Spring框架开发面试必备知识点 SpringAO…...
2024/4/18 9:42:36 - 实现 爬取 iqiyi
文章目录1.由用户输入要爬去的 视频类别id下载播放内容调用annie 保存附录: 关键代码源代码 1.由用户输入要爬去的 视频类别id 更多的类型与 id 可以自行访问 https://list.iqiyi.com/www/2/-------------24-1-1-iqiyi–.html 进行查询 类别名称channel_id电视剧2电影1综艺6动…...
2024/4/18 13:23:49 - 应聘深度学习视觉算法/研发岗位的复习历程(一)PS:硬生生逼出了写博客的习惯,太惨了
1. 批量归一化(BN) 也能够解决梯度消失和梯度爆炸(1) 一般来说在CV深度学习模型训练中,我们是要在卷积层后加入BN层的,原因来于Feature map在经过卷积层后,特征分布可能会有变化,BN就是为了解决这个问题加入的,它使得feature map的分布重新归于均值0和方差1,但是一般的…...
2024/4/16 5:05:48 - 嵌入式第五天
今天学习内容:1.预处理:宏,条件编译 2.编码规范 3.指针 4. 数组 作业:...
2024/4/20 8:08:19 - 【陈工笔记】# PyTorch 在win10系统下的环境配置 (Pycharm)
# 好记性不如烂笔头,顺便梳理思路# 希望自己每一天,都有成长,都有收获问题:PyTorch + Win10 + Pycharm + Anaconda 如何配置第一步:Anaconda的安装(可参考 传送门)第二步:Pycharm软件的安装(可参考 传送门)第三步:PyTorch的安装第三步:点击 PyTorch的官网 ,在主页…...
2024/4/16 5:05:53 - Spring中 Bean 的作用域与生命周期
前言 一 bean的作用域1. singleton——唯一 bean 实例 2. prototype——每次请求都会创建一个新的 bean 实例 3. request——每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效 4. session——每一次HTTP请求都会产生一个新的 bean,该bean仅在当前 HTTP…...
2024/4/16 5:06:13 - error: operator ‘&&‘ has no right operand #if (BEKEN_USING_IIC && RT_USING_I2C)
#error: operator ‘&&’ has no right operand #if (BEKEN_USING_IIC && RT_USING_I2C) 解决方法:#if (defined(BEKEN_USING_IIC) && defined(RT_USING_I2C)) 或者只添加右侧也可 #if (BEKEN_USING_IIC && defined(RT_USING_I2C)) 记录下遇到…...
2024/4/7 8:40:19 - go 将函数 当做参数传递 实现 不同类型数据求和
文章目录// 数字求差// 数字求和// 数字处理, 将函数当做变量传送// 字符串求和// 64 位浮点数求和// 泛型求和, 支持浮点数, 字符串,加法 package mainimport ("fmt"// "honnef.co/go/tools/arg"// "reflect" )//https://vim.wxnacy.com/ty…...
2024/4/16 5:05:38 - (强烈推荐)基于SSM和BootStrap的共享云盘系统设计(第一天下午)(——期末课设)
概要设计作为系统架构师,要对目标系统项目进行技术选型,即需要什么框架或者技术完成项目以满足用户需求。本次共享网盘选用SSM框架(课程需要)。在公司中选用框架,需要考虑成本(学习成本)和风险(配置版本的漏洞)两个方面。(最新的不一定是最好的,存在漏洞)。删除文件…...
2024/4/16 5:06:34
最新文章
- STM32单片机实战开发笔记-EXIT外部中断检测
嵌入式单片机开发实战例程合集: 链接:https://pan.baidu.com/s/11av8rV45dtHO0EHf8e_Q0Q?pwd28ab 提取码:28ab EXIT模块测试 功能描述 外部中断/事件控制器由19个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型&a…...
2024/5/4 9:51:54 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - xv6项目开源—05
xv6项目开源—05.md 理论: 1、设备驱动程序在两种环境中执行代码:上半部分在进程的内核线程中运行,下半部分在中断时执行。上半部分通过系统调用进行调用,如希望设备执行I/O操作的read和write。这段代码可能会要求硬件执行操作&…...
2024/5/2 2:36:53 - 腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践
腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践 文章目录 腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践引言《2023腾讯云容器和函数计算技术实践精选集》整体评价特色亮点分析Serverless与Kubernetes的…...
2024/5/4 3:47:51 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57