自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 TCP中的四个计时器

重传计时器(Retransmission Timer)当TCP发送报文后,就对此报文设置一个重传计时器,此时有两种情况在规定时间内成功收到对方的确认,就撤销该报文的重传定时器到了规定时间仍然未收到对方的确认,则认为该报文丢失,重新传送该报文,并将计时器时间复位坚持计时器(Persistent Timer)我们都知道TCP中有流量控制机制,当TCP的接收端宣布接收窗口为0时,发...

2018-07-30 12:05:13 869 2

原创 合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4创建一个新链表,循环比较两个原链表的值,每次将较小的值插入到新链表中,最后再将某个链表中剩余的部分整个插入到新链表中,这个方法好想...

2018-07-30 11:12:52 324

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路二叉树的前序遍历顺序是根节点、左子树、右子树 中序遍历顺序是左子树、根节点、右子树前序遍历结果中首元素肯定是二叉树的根节点,要...

2018-07-30 09:54:21 317

原创 Cookie和Session机制

会话跟踪会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。因为Http是无连接的,服务器并不能通过连接状态来确定用户信息,所以引入了Cookie和Session机制来确定用户,Cookie在客户端保存用户信息,Session在服务器保存用户信息。什么是Cookie和Session?Cookie机制:Cookie是客户端的解决方案,通过在客户端保存用户信息,方便下次访问某站点...

2018-07-28 11:01:11 324

原创 TCP提高性能的举措

滑动窗口对于每一个发送的数据段,都要给一个ACK确认应答,收到ACK后才可以发送下一个数据段,这样未免效率太差,所以TCP中引入了滑动窗口机制。 如上图所示,发送前4000字节数据的时候不需要收到任何回应,当收到一个ack后,滑动窗口就往后移动一个报文的长度,但是窗口大小是不变的窗口大小指的就是无需等待回应就可以发送数据量的最大值,上图中的窗口大小就是4000字节当发送完前4...

2018-07-06 01:31:56 508

原创 大量TIME_WAIT的解决方案

TIME_WAIT状态是主动断开连接的一方产生的,客户端处于TIME_WAIT状态的话问题不大,如果服务器产生大量TIME_WAIT状态的连接,就会大大降低服务器的响应速度等性能问题,根本原因是一些端口号以及socket地址被占用而得不到释放。方法一C/C++中提供了一个接口,如果服务器重启时需要对端口号以及socket地址进行复用,从而避免了TIME_WAIT状态#include &...

2018-07-05 14:46:26 4188

原创 TCP保证可靠性的举措

连接管理TCP是面向连接的,三次握手和四次挥手都是为了保证本次数据传送的可靠性,这里不做赘述 如果想了解具体的三次握手和四次挥手,请戳这里->TCP三次握手四次挥手详解序号保证数据段的按序到达TCP是面向字节流的,它对每一个字节都进行了编号,比如发送端发送了一个1~80字节的数据,接收端拿到数据段以后,就会回复一个ack为81的确认,表明81字节之前的数据都成功接...

2018-07-05 14:30:51 921

原创 TCP的三次握手与四次挥手详解

介绍TCP协议先来了解下TCP协议的报头信息

2018-07-01 21:18:36 427 1

原创 详解C/C++中的函数栈帧

函数栈帧就是进程在调用函数时为其在栈空间上开辟了一段空间,执行过程调用,一个过程调用包括将数据(以过程参数和返回值的形式)和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在退出时释放这些空间。一个栈帧构建好后,会有两个寄存器标识该栈帧,即基址寄存器ebp(指向栈底)和栈顶寄存器esp(指向栈顶),两个寄存器中保存了栈顶和栈底的地址,对于栈帧中一些信息的访问...

2018-07-01 19:32:30 1293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除