程序员底层思维笔记

Posted 人在江湖之诗和远方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员底层思维笔记相关的知识,希望对你有一定的参考价值。

基础思维能力

1、抽象

 

2、逻辑

 

3、结构化

 

4、批判

 

5、维度

 

6、分类

 

 

7、分治

 

8、简单

 

9、成长型

 

专业思维能力

10、解耦思维

 

11、契约思维

 

12、模型

 

13、工具化

 

14、量化

 

15、数据

 

16、产品

 

TCP协议笔记

Preface


最近在JavaNIO相关的知识,由于JavaNIO的Socket底层是使用c的socket函数,而socket则是对底层协议的抽象;所以想学好socket就必须学好底层协议。

这篇文章采用的是前文讲述的“思维导图学习法”的方式来进行学习,正好能一起学习思维导图的用法,有描述的不正确的地方希望各位多多指正!!

TCP协议

我们带着三个问题来认识下TCP协议:

  • 基本特性是什么?

  • 怎么连接的?

  • 数据是怎么通信的?

TCP协议笔记


基本特性

TCP协议笔记


连接过程

连接阶段包含了两个角色:

  • client

  • server

连接过程包括:

  • 建立连接:三次握手

  • 断开连接:四次挥手

重点:为什么是三次握手或四次挥手?(ps:面试常问的题,可以结合过程和我这里标记的答案一起理解下)


数据通信

数据通信方式:

  • 拆包发送:将一个数据包拆分成N个小包发送出去

  • 失败重传:失败了会重新发送该小数据包,关键字:RTO,RTT

  • 拥塞控制:网络保护的一种手段,cwndssthresh两个变量,四种算法来控制整个协议包发送的流控策略



以上是关于程序员底层思维笔记的主要内容,如果未能解决你的问题,请参考以下文章

TCP协议笔记

笔记得到-《梁宁·产品思维三十讲》

让程序员变厉害的7个底层思维

让程序员变厉害的7个底层思维

万字长文《梁宁产品思维30讲》思考笔记(二)

《王道操作系统》学习笔记总目录+思维导图