摘要:
策略模式是指定义一系列的算法,把它们单独封装起来,并且使它们可以互相替换,使得算法可以独立于使用它的客户端而变化,也是说这些算法所完成的功能类型是一样的,对外接口也是一样的,只是不同的策略为引起环境角色(持有一个策略类的引用,最终给客户端调用)表现出不同的行为。 相比于使用大量的if...else, 阅读全文
摘要:
在工厂模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时,建议直接new完成一个实例对象的创建。 简单工厂模式 简单工厂模式主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新 阅读全文
摘要:
C++中multiset容器是STL模板<set>库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数(而set容器要求两两不同,且不保证有序)。 常用成员函数 insert(elem): 阅读全文
摘要:
C++中的虚函数的作用主要是实现多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。 虚函数表 C++ 虚函数(Virtua 阅读全文
摘要:
参考:HTTPS的加密流程|一篇文章读懂HTTPS及其背后的加密原理|HTTPS协议详解|Https加密过程|Https握手过程 一、HTTPS与HTTP的区别 HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通 阅读全文
摘要:
在Linux系统控制命令行使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等,top可以以一定频率更新这些统计信息。 默认输出 top命令的默认输出如下: 上半部分显示了整体系统负载情况 top:从左到右依次为当前系统时间,系统运行的时间,系统在之 阅读全文
摘要:
C++内存管理中内存泄露(memory leak)一般指的是程序在申请内存后,无法释放已经申请的内存空间,内存泄露的积累往往会导致内存溢出。 一、内存分配方式 通常内存分配方式有以下三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, 阅读全文
摘要:
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。 HTTP响应消 阅读全文
摘要:
一、查找文件 使用 Linux 经常会遇到这种情况:只知道文件中包含某些特定的字符串,但是不知道具体的文件名。需要根据“关键词”反向查找文件。 例如:查找当前目录下,包含“ipaddress”字符串的所有文件 (1)grep -rn "ipaddress" ./ (其中,r 表示递归, n 表示查询 阅读全文
摘要:
OVS Open Virtual Switch(OVS) 是一个开源的多层虚拟交换机。 它通常作为基于软件的网络交换机或专用交换硬件的控制堆栈运行。 OVS 旨在通过编程扩展实现有效的网络自动化,还支持标准管理接口和协议,包括 NetFlow、sFlow、CLI、IPFIX、RSPAN、LACP、8 阅读全文