模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤。当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。 Abstract...
分类:
其他好文 时间:
2014-07-16 23:26:09
阅读次数:
264
libnet介绍与分析当前,基于socket的网络编程已成为当今不可替代的编程方法,它将网络通讯当作文件描述符进行处理,把对这个“网络文件”(即socket套接字)的操作抽象成一种类似于文件操作的方式进行。从实现细节上,这种工作方式根据TCP/IP的网络通讯模型,封装了一系列的实现,使得我们只需要使...
分类:
Web程序 时间:
2014-07-10 13:52:57
阅读次数:
280
(转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途) TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W...
分类:
其他好文 时间:
2014-07-07 23:46:39
阅读次数:
429
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用...
分类:
其他好文 时间:
2014-06-30 12:39:53
阅读次数:
257
今天折腾了四个小时才把这个正确安装上,特此记录下。特别感谢群友的支持。在VMware上新安装了Debain7.5,具体细节不复述了。一、更新系统#apt-get update#apt-get upgrade二、构建编译环境#apt-get install build-essential#apt-ge...
分类:
其他好文 时间:
2014-06-30 12:38:53
阅读次数:
247
①push_heap算法
下面是push_heap算法的实现细节。该函数接收两个迭代器,用来表现一个heap底部容器(vector)的头尾,并且新元素已经插入到底部的最尾端。
template
inline void push_heap(RandomAccessIterator first,RandomAccessIterator last)
{
//注意,此函数被调用时,新...
分类:
其他好文 时间:
2014-06-30 09:25:57
阅读次数:
239
本版是个里程碑版本,可以通过本版了解多线程是如何通过IO线程读/写网络数据的,在前一个版本v0.12重点介绍了基础知识的前提下,本篇着重分析多线程逻辑里最重要的三个方法EventLoop::runInLoop/EventLoop::queueInLoop/EventLoop::doPendingFunctors。下面逐步介绍本版本修改的细节,三个方法放在最后的EventLoop节。...
分类:
其他好文 时间:
2014-06-30 00:54:45
阅读次数:
294
模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的方法,一些重要复杂的算法,可以将核心算法设计为模板方法,周边相关细节部分则有子类来实现。特别是在重构时,可以将子类的代码抽取到父类中,然后通过父类的引用指向子类的对象,也就是用一个句柄,来约束其行为。...
分类:
编程语言 时间:
2014-06-30 00:38:24
阅读次数:
321
学习编程与学习踢球、学习演奏并无差别,最佳方式就是不断练习,所以我们鼓励你敲些代码,看看会发生什么,如果这些代码头一次不起作用,没关系,再来,看看你能否把它们纠正过来。首先是一个简单的快速入门程序,让我们通过了解这个程序的细节,来熟悉Python。第一项任务:给..
分类:
编程语言 时间:
2014-06-29 21:32:38
阅读次数:
287
本文的源码基于Jetty9,主要分析了Jetty 的Connector与Server类间在Jetty启动过程中的一些细节。Jetty9 对以前的Connector体系进行了重构, 结构与6和7都不同,原有的一些BIO类已经被抛弃。先看Server 构造函数public Server(@Name("p...
分类:
其他好文 时间:
2014-06-29 18:24:52
阅读次数:
242