面试总结之乐信(下)

六.TCP的三次握手四次挥手机制?

1. TCP建立连接的过程。

     三次握⼿手:

1. 第一次握手(客户端发送syn包到服务器端):客户端发送syn包到服务

器端,进入syn_send状态,等待服务器端的确认;

2. 第二次握手(服务器返回syn+ack包给客户端):服务器端收到客户端

的syn包,发送syn+ack包给客户端,进入syn_recv状态;

3. 第三次握手(客服端返回ack包给服务端):客户端收到服务器端的

syn+ack包,发送个ack包到服务器端,至此,客户端与服务器端进入

established状态;

4. 握手过程中传送的包不包含任何数据,连接建立后才会开始传送数

据,理想状态下,TCP连接一旦建立,在通信双方的任何一方主动关闭

连接前,TCP连接都会一直保持下去。

2. TCP断开连接的过程。

四次挥⼿:

1. 第一次挥手:主动关闭方发送fin包到被动关闭方,告诉被动关闭⽅方我

不不会再给你发送数据了了;

2. 第二次挥手:被动关闭方收到syn包,发送ack给对方,确认序号为收到序号+1;

3. 第三次挥手:被动关闭方也发送fin包给主动关闭方,告诉对方我也不会给你发送数据了;

4. 第四次挥手:主动关闭方收到syn包,发送ack给对⽅,至此,完成四次挥手;

七.Https原理?

HTTPS协议就是基于SSL的HTTP协议

HTTPS使用与HTTP不同的端口(HTTPM80 , HTTPSM443)

提供了身份验证与加密通信方法,被广泛⽤于互联⽹上安全敏感的通信。

 

1、客户端请求SSL连接,并将自⼰支持的加密规则发给网站。

2、服务器端将自己的身份信息以证书形式发回给客户端。证书里面包含了⽹站地址,加密公钥,以及证书的颁发机构。

3、获得证书后,客户要做以下工作

  • 验证证书合法性

  • 如果证书受信任,客户端会生成一串随机数的密码,并用证书提供的公钥进行加密。

  • 将加密好的随机数发给服务器。

4、获得到客户端发的加密了的随机数之后,服务器用自己的私钥进行解密,得到这个随机数,把这个随机数作为对称加密的密钥。(利⽤⾮对称加密传输对称加密的密钥)

5、之后服务器与客户之间就可以用随机数对各自的信息进行加密,解密。

注意的是:证书是一个公钥,这个公钥是进行加密用的。而私钥是进⾏解密⽤用的。公钥任何都知道,私钥只有⾃⼰知道。这是非对称加密。而对称加密就是钥匙只有一把,我们都知道。之所以用到对称加密,是因为对称加密的速度更快。而⾮对称加密的可靠性更高。

客户端请求--服务端发送证书(公钥)--客户端验证证书,并生成

随机数,通过公钥加密后发送给服务端--服务端用私钥解密出随机数--对称加密传输数据。

八.Redis的数据类型有哪些?与Memcached的区别?

Redis目前⽀持5种数据类型,分别是:

String(字符串)

List(列列表)

Hash(字典)

Set(集合)

Sorted Set(有序集合)

区别

1、memcache支持k/v类型数据;

2、redis除了缓存k/v类型数据之外,还能缓存list、set、hash等数据结构

的数据;

3.redis的持久化,事务,master/salver这些虽然也是redis的优势,但实际应

用中发现这些其实是会托累服务器的性能,而我们全部都不能用.我们得自已做;memcached以上都不管,我们也得自已做;

4.如果需要在服务器端做一些聚合的运算,用redis;如果只是做缓存,redis虽

然可以,但性能很差.在要求高性能的环境下使用memcached更合适;

九.哪些对象会被存放到⽼年代?

1. 新生代对象每次经历一次minor gc,年龄会加1,当达到年龄阈值

(默认为15岁)会直接进入老年代;

2. ⼤对象直接进入老年年代;

3. 新生代复制算法需要一个survivor区进行轮换备份,如果出现大量对象在minor gc后仍然存活的情况时,就需要老年代行分配担保,让survivor无法容纳的对象直接进⼊老年代;

4. 如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入⽼年代。

十. 什么时候触发full gc?

1.调用System.gc时,系统建议执行Full GC,但是不必然执行

2.老年代空间不足

3.方法去空间不足

4.通过Minor GC后进入老年代的平均大⼩大于⽼年代的可用内存

5.由Eden区、From Space区向To Space区复制时,对象大小⼤大于

To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象⼤⼩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT枫斗者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值