0
点赞
收藏
分享

微信扫一扫

安置指定版本Jenkins的Docker

yongxinz 2023-07-13 阅读 76
网络

1、哪些问题是HTTPS无法解决的?

  • Http是基于TCP协议的,在网络层的传输耗时比较长,https没有解决这个问题;
  • http头是不能压缩的,每次要传递很大的数据包,每个连接也只能支持一个请求。
  • 同时https应用了很多加密算法,这些算法的执行也是会影响速度的。

2、HTTP协议1.x版本和HTTP协议2.x版本的区别是什么? 

  • 多路复用:HTTP/2.x 可以在一个连接上同时传输多个请求和响应,而 HTTP/1.x 每个请求都需要建立一个单独的连接,导致性能低下。
  • 流量控制:HTTP/2.x 可以对连接进行流量控制,控制发送速率和接收速率,避免了服务器和客户端之间的速率不匹配导致的问题。
  • 服务器推送:HTTP/2.x 可以将服务器的资源主动推送给客户端,不需要客户端明确地请求,可以减少延迟和网络请求次数。
  • 二进制传输:HTTP/2.x 使用二进制格式来传输数据,取代了 HTTP/1.x 的文本格式,减少了传输数据的大小和时间。
  • 头部压缩:HTTP/2.x 支持头部压缩,可以有效减少请求和响应的头部大小,减少网络带宽的使用。

3、说一说进程有多少种状态,如何转换

进程有哪些状态?_什么是进程的就绪态 阻塞态 执行态_HappySundlut的博客-CSDN博客

有3种状态4种转换,三种状态是阻塞、就绪、运行。四种转换是阻塞->就绪、就绪->阻塞、运行->阻塞、就绪->运行。

(1) 就绪→执行

​ 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
(2) 执行→就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。

(3) 执行→阻塞 
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。

(4) 阻塞→就绪

4、说一说你对volatile关键字的理解

volatile关键字是Java虚拟机提供的最轻量级的线程间同步机制,我们很容易在书籍或网络上了解到volatile关键字的作用,主要有两点:

1、当一个变量被volatile修饰时,将保证此变量对所有线程的可见性。 这里的“可见性”指的是,当对一个变量修改后,新值对于其他线程是立即可见的,注意这里的立即可见,并不是说其他线程能监听到变量值修改,而是说修改后的值能立即同步到主内存中(稍后介绍Java内存模型),保证其他线程能读取到的一定是最新值。

2、使用volatile修饰的变量能禁止指令重排优化。 什么是指令重排优化呢,Java源代码最终会编译成计算机能识别的机器码指令,为了提高执行效率,编译器和处理器可能会对指令进行优化重新排序,导致实际上指令执行的顺序可能会和源代码中想表达的顺序不一致。

举报

相关推荐

0 条评论