自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一览众山小

Never Say Never

  • 博客(3)
  • 收藏
  • 关注

原创 二分查找

二分查找作为一个高效的查找算法(O(lgN))到处可见其身影,这里分享一点儿我的理解与体会。    二分查找虽然高效,但局限性也很明显:    首先,需要是连续内存;    其次,序列应该是已经排序好的,不管从小到大或者从大到小。    就以上两点,很多情况下都不能用二分查找。比如,我的数据可能是动态增加的,会有很多的添加操作。如果使用连续内存的话,显然会有大量的内存移动。因此,只能用链式

2013-12-11 20:49:09 1037

原创 TCP/IP:frame的接收方式之中断方式

在学习TCP/IP时,不可避免地要理解接收frame的中断方式和轮询方式,以及两者的结合。为什么不坚持中断方式?因为在负载高时效率低,为什么低?因为中断频繁...等等。其实,如果我们理解了中断的过程,那么就很好理解了。    首先,我们来看看中断方式相对于轮询方式的优点。    由于我们不知道数据包什么时候会来,因此,为了能否在数据包来后及时的处理,所以要不停的去读状态看看数据来了没。显然,如

2013-12-07 22:16:20 2242

原创 sk_buff经过协议栈时的变化---从TCP层向下到链路层

近来开始结合linux源码看TCP/IP,看到sk_buff时被其各个数据成员弄得有些糊涂,靠死记硬背显然是不行的。最终,结合书本(Understanding LINUX Network Internals)把sk_buff中主要的几个数据成员的变化情况画了出来。这种学习方法我一直在用,效果挺好。 transport layer:    首先,看看通过alloc_skb创建的sk_buff的内

2013-12-03 21:48:04 1755

空空如也

空空如也

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

TA关注的人

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