上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页
摘要: 跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,跳表是由William Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是 链表的一种,只不过它在链表的基础上增加了跳跃功能,正是这个跳跃的功 阅读全文
posted @ 2016-08-08 11:27 davygeek 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了 阅读全文
posted @ 2016-08-04 15:52 davygeek 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 在github上开发代码的时候我们习惯的是fork一个分支,然后修改再往主分支push request,这样就可以保证多人开发, 但是随着时间的推移,自己fork的版本和主分支的版本差异越来越大; 这时我们就需要从远程分支更新代码并且更新到本地分支 下面简单以etcd为例说明下如何更新: 阅读全文
posted @ 2016-08-02 19:39 davygeek 阅读(3345) 评论(0) 推荐(0) 编辑
摘要: 1. TCP协议面向连接. UDP协议面向非连接 (有无链接)2. TCP协议传输速度慢. UDP协议传输速度快 (传输速度)3. TCP协议保证数据顺序. UDP协议不保证 (数据的有序性. 在IP层时. 数据包会变得无序)4. TCP协议保证数据正确性. UDP协议可能丢包 (TCP保证数据的可 阅读全文
posted @ 2016-08-02 17:56 davygeek 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: 工欲善其事,必先利其器, 开发的过程中好的工具会大大的提高开发效率 工欲善其事,必先利其器, 开发的过程中好的工具会大大的提高开发效率 下面就是从网上整理了些idea开发环境的快捷键,可以结合着vim插件一起用; 可以达到事半功倍的效果 最常用快捷键1. Ctrl+E,可以显示最近编辑的文件列表2. 阅读全文
posted @ 2016-08-02 14:07 davygeek 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞、非阻塞、异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧。经过看了些这几个概念的资料,发现同步 阅读全文
posted @ 2016-07-29 18:37 davygeek 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 上一篇《聊聊同步、异步、阻塞与非阻塞》已经通俗的讲解了,要理解同步、异步、阻塞与非阻塞重要的两个概念点了,没有看过的,建议先看这篇博文理解这两个概念点。在认知上,建立统一的模型。这样,大家在继续看本篇时,才不会理解有偏差。 那么,在正式开始讲Linux IO模型前,比如:同步IO和异步IO,阻塞IO 阅读全文
posted @ 2016-07-29 18:37 davygeek 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO 阅读全文
posted @ 2016-07-29 18:36 davygeek 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 为了区分IO的五种模型,下面先来看看同步与异步、阻塞与非阻塞的概念差别。 同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需 阅读全文
posted @ 2016-07-29 18:19 davygeek 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非J 阅读全文
posted @ 2016-07-29 00:06 davygeek 阅读(183) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页