美文网首页
java面试题(121-最终)

java面试题(121-最终)

作者: 程序猿小小白 | 来源:发表于2019-11-01 15:32 被阅读0次

121.ConcurrentHashMap实现原理

https://baijiahao.baidu.com/s?id=1617089947709260129&wfr=spider&for=pc

122.springboot和spring的区别

123.Java反射机制

https://www.cnblogs.com/zhaoguhong/p/6937364.html

124.为什么客户端最后还要等待2MSL?

第一,保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看来,我已经发送了FIN+ACK报文请求断开了,客户端还没有给我回应,应该是我发送的请求断开报文它没有收到,于是服务器又会重新发送一次,而客户端就能在这个2MSL时间段内收到这个重传的报文,接着给出回应报文,并且会重启2MSL计时器。

第二,防止类似与“三次握手”中提到了的“已经失效的连接请求报文段”出现在本连接中。客户端发送完最后一个确认报文后,在这个2MSL时间中,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样新的连接中不会出现旧连接的请求报文。

125.为什么建立连接是三次握手,关闭连接确是四次挥手呢?

建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。 而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。

126.TCP和UDP的区别?

TCP是有连接的,UDP是无连接的

TCP是可靠的传输,UDP是不可靠的,支持接收确认和重传的机制。

TCP只能点对点的建立连接,即一对一,UDP支持一对一,一对多,多对对的

TCP是字节流的,而UDP是报文的,没有阻塞控制。

UDP具有较好的实时性,

TCP对系统资源要求较多,UDP对系统资源要求较少。

127.UDP为什么不保证可靠连接

UDP是尽力传送,没有应答和重传机制,UDP只是将信息发送出去,对方收不收到也不进行应答。

128.四层网络结构?

数据链路层,物理传输介质,比如光纤,双绞线。

网络层,ip

传输层udp,tcp

应用层http

129.OSI七层与TCP/IP五层网络架构详解

130.网络方面有osi七层,tcp/ip五层,分别有哪些协议及作用

应用层: 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层: 数据格式化,代码转换,数据加密 没有协议

会话层: 解除或建立与别的接点的联系 没有协议

传输层: 提供端对端的接口 TCP,UDP

网络层: 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层: 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层: 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

131.TCP报文首部

1.源端口和目的端口站两个字节

2.序号,四个字节,每次传输都按序号排序。

3.确认号,期望收到下一个数据的序号

4.确认号 ACK

5.同步SYN,在连接建立时用来同步序号。

6.终止FIN 用来终止连接

7.窗口大小,用来表示接收端的大小

132.TCP是如何保证可靠的连接的?

1.将数据分割成一块一块的数据块进行发送,多少字节。

2.发送端按编号进行发送数据,接收端收到数据进行排序,把有序的数据传递给应用层。

3.超时重传和确认。当tcp发送一部分数据时,它会启动一个定时器,等待接收端确认这个报文是否已经收到。

4.TCP的接收端会丢弃重复的数据。

5.流量控制。----滑动窗口

6. 拥塞控制。----慢开始、拥塞避免和快重传、快恢复。

133.请求头

Accept: text/html,image/* -- 浏览器接受的数据类型

Accept-Charset: ISO-8859-1 -- 浏览器接受的编码格式

Accept-Encoding: gzip,compress --浏览器接受的数据压缩格式

Accept-Language: en-us,zh- --浏览器接受的语言

Host: www.it315.org:80 --(必须的)当前请求访问的目标地址(主机:端口)

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --浏览器最后的缓存时间

Referer: http://www.it315.org/index.jsp -- 当前请求来自于哪里

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) --浏览器类型

Cookie:name=eric -- 浏览器保存的cookie信息

Connection: close/Keep-Alive -- 浏览器跟服务器连接状态。close: 连接关闭 keep-alive:保存连接。

Date: Tue, 11 Jul 2000 18:23:51 GMT -- 请求发出的时间

134.常见的响应头

Location: http://www.it315.org/index.jsp -表示重定向的地址,该头和302的状态码一起使用。

Server:apache tomcat ---表示服务器的类型

Content-Encoding: gzip -- 表示服务器发送给浏览器的数据压缩类型

Content-Length: 80 --表示服务器发送给浏览器的数据长度

Content-Language: zh-cn --表示服务器支持的语言

Content-Type: text/html; charset=GB2312 --表示服务器发送给浏览器的数据类型及内容编码

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --表示服务器资源的最后修改时间

Refresh: 1;url=http://www.it315.org --表示定时刷新

Content-Disposition: attachment; filename=aaa.zip --表示告诉浏览器以下载方式打开资源(下载文件时用到)

Transfer-Encoding: chunked

Set-Cookie:SS=Q0=5Lb_nQ; path=/search --表示服务器发送给浏览器的cookie信息(会话管理用到)

Expires: -1 --表示通知浏览器不进行缓存

Cache-Control: no-cache

Pragma: no-cache

Connection: close/Keep-Alive --表示服务器和浏览器的连接状态。close:关闭连接 keep-alive:保存连接

135.SpringBoot和spring相关

https://blog.csdn.net/Time_sg/article/details/81589660

https://blog.csdn.net/a745233700/article/details/80959716

https://blog.csdn.net/a745233700/article/details/80963758

136.Mybatis相关

https://blog.csdn.net/a745233700/article/details/80977133

相关文章

网友评论

      本文标题:java面试题(121-最终)

      本文链接:https://www.haomeiwen.com/subject/avnfbctx.html