Java八股文面试题之面试记录(二)

目录

1.Java基本数据类型有哪些?分别占多少个字节?表示的范围是多少?

2.int和flout谁表示的范围更大?为什么?

3.flout是如何存储小数的?

4.http和https的区别?

5.简单说一下TCP协议的三次握手?


1.Java基本数据类型有哪些?分别占多少个字节?表示的范围是多少?

2.int和flout谁表示的范围更大?为什么?

实际上,二者是无法比较大小的,因为它们所能表示的数据范围是不同的。

int类型的范围9-10位数,flout类型的范围是6-7位数,从这个角度来说,int较大。

但是另外一方面来说,flout可以存储浮点数,从这个角度来说,flout更大。

3.flout是如何存储小数的?

一个flout是四个字节,也就是32位,可以分为1个符号位,8个指数部分,23个尾数部分。其中,符号位占用 1 位二进制数,用于表示数字的正负;指数部分占用 8 位二进制数,用于表示数值大小的范围,使用 2 的补码表示法;尾数部分占用 23 位二进制数,用于表示数值的有效位数。

4.http和https的区别?

安全性

  • HTTP 是一种明文传输协议,传输的数据容易被黑客截获或窃听,存在安全风险。
  • HTTPS 利用 SSL 或 TLS 协议对数据进行加密和认证,保证了数据传输的安全性。

网站证书

  • HTTP 协议不需要网站使用证书,任何人都可以创建一个 HTTP 网站。
  • HTTPS 网站需要有数字证书,证书会验证网站的身份和可信性,只有合法网站才能使用 HTTPS。

 端口号

  • HTTP 协议使用的端口号是 80。
  • HTTPS 协议使用的端口号是 443。

连接速度

  • 由于 HTTPS 需要对数据进行加密和认证,相比 HTTP,连接速度会慢一些。

缓存

  • HTTP 协议可能会被 ISP 或者浏览器进行缓存。
  • HTTPS 协议的内容不会被缓存,因为每次请求的都是加密的内容,无法利用缓存提高请求速度。

 使用场景

  • HTTP 主要用于传输一些非敏感数据,比如一些普通网页、文件下载等。
  • HTTPS 主要用于传输敏感数据,比如在线支付、网上银行、电子邮件等。

5.简单说一下TCP协议的三次握手?

  1. 第一次握手:客户端发送 SYN 包(同步序列编号)到服务器,并随机生成一个初始序列号 ISN(Initial Sequence Number),表示包的第一个字节的编号。此时,客户端状态为“SYN_SENT”。

  2. 第二次握手:服务器收到客户端的 SYN 包之后,回复 ACK 包(确认应答),并发送 SYN 包给客户端,并为这个新的连接分配一个新的 ISN。此时,服务器状态为“SYN_RECEIVED”。

  3. 第三次握手:客户端收到服务器的 SYN 包和 ACK 包之后,向服务器发送确认 ACK 包,代表客户端已经准备好接收数据。此时,建立连接成功,客户端状态为“ESTABLISHED”,服务端状态也为“ESTABLISHED”。

通过三次握手握手过程,客户端和服务器已经确定了彼此的接收和发送能力。为了确保数据的可靠传输,TCP 还使用“确认应答”和“序列号”机制来保证数据传输的可靠性。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值