自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++STL内存池和空间配置器

c++STL内存池和空间配置器为什么需要空间配置器?内存碎片问题:在软件开发,程序设计中,我们不免因为程序需求,使用很多的小块内存(基本类型以及小内存的自定义类型)。在程序中不断动态申请,释放。这个过程过程并不是一定能够控制好的,于是乎,问题1:就出现了内存碎片问题。(外碎片问题)问题2:一直在因为小块内存而进行内存申请,调用malloc,由于内存空间是由操作系统管理的,当我们要去开辟时,必然要进行

2017-07-29 23:47:11 2185

原创 TCP套接字通信

TCP套接字通信网络中进程之间如何通信?我们知道在本地进程间通信有很多种方式:比如管道、消息队列、共享内存、同步与互斥等,这些方法都要求通信的两个进程位于同一个主机那么网络之间该如何通信呢?在本地可以用进程PID来唯一的标识一个进程,但是在网络中是不行的,通过以前所学TCP/IP等知识,我们清楚网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“端口号”又可以唯一标识主机中的应用程序。这样,我

2017-07-26 22:55:42 2595

原创 网络端口的调研

网络端口的调研什么是端口#### 在 Internet上,各主机间通过TCP/UDP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。但是大多数操作系统都支持多程序(进程)同时运行,端口号就保证了目的主机将数据传送给指定的进程。#### 本地操作系统会给那些有需求的进程分配协议端口 (protocal port,即我们常说的端口),每个

2017-07-17 10:52:56 467

原创 调研TCP的定时器

调研TCP的定时器#### TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失。TCP通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。关键在于超时和重传策略,即怎样决定超时的时间间隔和如何确定重传的频率。因此对于每个连接,TCP 管理着四个不同的定时器:重传定时器、坚持定时器、保活定时器 以及 2MSL 定时

2017-07-17 10:26:34 399

原创 路由生产算法调研

路由生产算法调研路由是指路由器从一个接口上接收数据报,根据数据报的目的地址进行定向并转发到另一个接口的过程。路由结点一个具有路由能力的主机或路由器,它维护一张路由表,通过查询路由表来决定向那个接口发送数据报。 接口路由结点与某个网络相连的网卡接口。 路由表由很多路由条目组成,每个条目都指明去往哪个网络的数据报应该经由那个接口发送。其中最后一条是缺省路由条目。 路由条目路由表中的每一行,每个条目主要由

2017-07-15 13:15:06 489

原创 链表的带环问题

判断链表是否带环?用快慢指针法:若带环必然相遇bool IsExitLoop(ListNode* list){ ListNode* fast = list; ListNode* slow = list; while (fast && fast->_next) { fast = fast->_next->_next; slow = sl

2017-07-15 12:37:56 392

原创 设计一个类不能被继承

1.设计一个类不能被继承我们知道,一个类不能被继承,即构造不出来对象,在继承体系中:public继承:基类的public成员在派生类中仍为public成员;基类的protected成员在派生类中为protected成员;基类的私有成员,派生类不可见;protected继承:基类的public成员在派生类中变为protected成员;基类的protected成员在派生类中为protected成员;基类

2017-07-15 09:51:11 903

原创 逆置单链表/求倒数第k个结点

定义并创建链表:#include using namespace std;#include typedef struct ListNode{ int _data; struct ListNode* _next; ListNode(int data) :_data(data) ,_next(NULL) {}}ListNode;void Push(ListNode

2017-07-15 08:51:17 475

原创 NAT技术与代理服务器调研

1. 什么NAT技术?        NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(

2017-07-14 12:30:11 997

原创 浅析地址解析协议ARP

地址解析协议(ARP):    在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求

2017-07-13 22:14:59 1062

原创 各种排序算法总结

1、【冒泡排序法】        又称交换排序法,即在排序过程中,让较大的元素向下沉,较小的元素向上浮,其处理程序从元素的开始位置起,相邻的元素进行比较,若第i个数大于第i+1个数,则互相交换,比较过所有的元素后,最大的元素将会被排到最后面;重复每一趟均会将最大值放在当前的最后面。void bubble_sort(int* a,int sz){ int i = 0; in

2017-07-13 21:37:47 286

原创 合并两个有序链表

1.合并两个有序链表,合并以后的链表依旧有序。合并两个有序链表,可以分为以下几种情况:a)当要合并的两条链表都为空,返回空;b)当一个链表为空;此时我们直接返回好另一条链表即可;c)都不为空,两个链表进行合并;在此中由于我们不知道链表1和链表2应该以谁为头,因此.我们自己定义新链表的头;然后注意进行比较,逐次向表头链接;当其中一个链接完成后,由于其有序,直接将后一个没有连完挂在后面即可.下面为代码:

2017-07-13 21:12:38 654

原创 浅谈CRC效验

浅谈CRC效验在网络的信息的传输中,现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能变为0,而0也可能变为1.这就是比特差错。因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC的检错技术。CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种

2017-07-12 18:22:01 3561 1

原创 快速排序总结

快速排序快速排序是一种经常使用应用最广泛的一种排序算法,它可以算是冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列;排序流程为先选取一个key(一般选取最左或最右)将数据分割两部分,再运用递归直到递归到只有一个元素。

2017-07-08 14:15:45 438

Linux C一站式学习

学习linux必看书籍,本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法

2018-08-13

空空如也

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

TA关注的人

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