• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-05-01 03:24 Aet 隐藏边栏 |   抢沙发  5 
文章评分 1 次,平均分 5.0

红黑树

哈希表

TCP

TCP三次握手过程

客户端发送连接请求到服务端

  • 客户端发送:SYN

服务端收到消息后知道自己是可以与客户端连接成功的。

但是客户端并不知道服务端有没有收到它的请求,所有服务端收到消息之后得应答,告诉客户端它收到请求了。ACK(SYN)

服务端同时也会发送一个连接请求到客户端。SYN

  • 服务端发送:ACK(SYN) SYN

客户端收到服务端的反馈后,才会确定自己是可以与服务端连接上的。

  • 客户端发送:ACK

TCP三次握手为什么是三次

如果只握手了两次会如何?

首位,在第二次握手中,服务器也发送了一个请求建立连接的请求到客户端。

假如连接就通过两次建立了,没有第三次握手,就没有客户端发送ACK到服务端。这种情况下,假如客户端没有数据发送,就会导致服务端那里一直在等待。

TCP四次挥手为什么是四次

  • 建立连接时,被动方服务器端结束CLOSED阶段进入“握手”阶段并不需要任何准备,可以直接返回SYNACK报文,开始建立连接。
  • 释放连接时,被动方服务器,突然收到主动方客户端释放连接的请求时并不能立即释放连接,因为还有必要的数据需要处理,所以服务器先返回ACK确认收到报文,经过CLOSE-WAIT阶段准备好释放连接之后,才能返回FIN释放连接报文。

lambda表达式

我们可以向一个算法传递任何类别的可调用对象
一个lambda表达式表示一个可调用的代码单元
可以将其理解为一个未命名的内联函数

与任何函数一样,lambda表达式也有返回类型,参数列表和函数体
与普通函数不同的是,lambda表达式可以定义在函数内容

格式:

[捕获列表](参数列表)-> 返回类型 {函数体}

注意:

可以忽略参数列表和返回类型,但不能忽略捕获列表和函数体

关于捕获列表:

[] lambda不能使用所在函数中的变量
[names] names是一个逗号分隔的名字列表,这些名字都是lambda所在函数的局部变量
[&] 隐式捕获列表,采用引用捕获的方式。lambda中所使用的和来自所在函数的实体都采用引用的方式使用
[=] 隐式捕获列表,采用值捕获方式。lambda体将拷贝所使用的来自所在函数的实体的值
[&,identifier_list] identifier_list是逗号分隔开的列表,包含0个或多个所占函数的变量。
这些变量采用值捕获的方式,而任何隐式捕获的变量都采用引用捕获的方式捕获。
identifier_list的名字前不能使用&
[=,identifier_list] identifier_list是逗号分开的列表,包含0个或多个所占函数的变量
这些变量采用引用捕获的方式,而任何隐式捕获的变量都采用值捕获的方式捕获。
identifier_list中的名字不能包括this,且这些名字之前必须使用&

分布式

分布式相关介绍入口...

高并发

高并发相关介绍入口...

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享