Java面试准备-网络

简介: Java面试准备-网络

说说 TCP 与 UDP 的区别,以及各自的优缺点


TCP是面向连接的,发消息之前要建立连接,UDP是无连接的,发送数据之前不需要建立连接。

TCP提供可靠的消息发送,无差错,不会丢失,且按顺序到达,确认消息可靠,有重发机制。UDP尽最大努力交付,不能完全确保消息可靠。

UDP具有较好的实时性,工作效率比TCP高。

每一条TCP信息都是1对1的;UDP支持1对1、1对多、多对多的通信。

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


说一下 HTTP 和 HTTPS 的区别


端口不同:HTTP是80端口、HTTPS是443端口

资源消耗不同:HTTPS需要对消息进行加解密处理,需要消耗CPU或者内存资源

开销:HTTPS需要单独购买证书。


TCP三次握手


TCP三次握手,其实就是简历TCP连接的一个过程,客户端和服务端交互需要3个数据包,握手的主要作用是确认双方的接收和发送能力正常。

第一次握手:客户端发送报文,进入等待状态,等待服务器确认

第二次握手:服务器收到报文,需要给客户端发送确认报文,同时服务器也向客户端发送一个报文。

客户端收到报文,向服务端发送确认包。


TCP 如何保证可靠性


序列号和确认机制:发送端发送数据包会有序列号

超时重发机制:发送端发送数据包后有一个定时器,如果一段时间后没有收到返回信息,这个时候进行消息重发

对乱序包进行排序:

丢弃重复数据

流量控制:可变的滑动窗口协议。


OSI 的七层模型都有哪些?


应用层

表示层

会话层

传输层

网络层

物理层

相关文章
|
2天前
|
Java 机器人 大数据
如何在Java中进行网络编程:Socket与NIO
如何在Java中进行网络编程:Socket与NIO
|
2天前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
17 5
|
1天前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
12 0
Android网络面试题之Http1.1和Http2.0
|
4天前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
15 3
|
16小时前
|
安全 Java 中间件
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
6 0
|
16小时前
|
安全 Java API
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
4 0
|
1天前
|
网络协议 Java 网络安全
架构面试题汇总:网络协议34问(2024版)
架构面试题汇总:网络协议34问(2024版)
11 0
|
1天前
|
运维 数据库 网络架构
详尽分享运维网络面试题101道
详尽分享运维网络面试题101道
|
1天前
|
Java
Java中的面试常见问题解析
Java中的面试常见问题解析
|
2天前
|
Java 机器人 程序员
如何在Java中进行网络编程?
如何在Java中进行网络编程?