10 2019 档案
摘要:装饰模式:动态地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。(《设计模式》) 即是通过组合给对象增加功能,可以消除通过继承带来的代码重复和大量子类这些麻烦。通常要扩展对象的功能是用继承的方式实现,但是由于继承为类引入静态特征,一旦扩展的功能增多,子类也会随
阅读全文
摘要:一、UDP UDP:是一个支持无连接的传输协议,全称是用户数据包协议(User Datagram Protocol)。UDP协议无需像TCP一样要建立连接后才能发送封装的IP数据报,也是因此UDP相较于TCP效率更高一些,但是由于没有建立连接,UDP只管发送数据,不管数据是否被接收,所以UDP传输数
阅读全文
摘要:工厂模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。工厂模式属于创建型模式,其主要解决的是计划在不同条件下创建不同实例时接口选择的问题。 实现: 1、创建接口 2、创建接口实体类 3、创建工厂类接口 4、创建工厂类接口实体 5、使用工厂类 通过使
阅读全文
摘要:对于数组声明的理解,采用由内向外的原则。(《C++ Primer 第五版》) int *ptrs[10]; 首先ptrs是一个数组,int *定义数组元素的类型。 int &refs[10]; 引用是一个变量的别名,引用没有自己的内存空间,其和被引用的变量共用一块内存空间,因此引用数组无法分配空间,
阅读全文
摘要:桥模式:把抽象化与实现化解耦,使得二者可以独立变化。属于结构型模式,其通过提供抽象化和实现化间的桥接结构,来实现二者解耦。 实现: 画出不同大小、颜色、线宽的图形。一般情况下,如果用为每种图形都提供各种不同颜色的设计思路来设计,当要增加图形种类或者颜色种类时,就要面临大量的工作量。以下是使用桥模式设
阅读全文
摘要:观察者模式:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。简单的来说就是发布者发布信息,观察者收到信息后,做出反应。 观察者模式定义了对象间一对多的依赖关系,主要解决的是对象状态改变给其他对象通知的问题,同时还要易用性和低耦合度。 实现: 观察者模式使
阅读全文
摘要:单例模式:一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。 要定义一个单例模式的类,首先将其构造函数私有化,以防止外界通过其创建对象。因为单例类仅有一个实例,所以创建一个类的私有静态指针变量,使其指向类的唯一实例。要使外界能够获取到私有静态指针变量指向的实例,所以要创建一
阅读全文
摘要:当从一个文件描述符进行读写操作时,accept、read、write这些函数会阻塞I/O。在这种会阻塞I/O的操作好处是不会占用cpu宝贵的时间片,但是如果需要对多个描述符操作时,阻塞会使同一时刻只能处理一个操作,从而使程序的执行效率大大降低。一种解决办法是使用多线程或多进程操作,但是这浪费大量的资
阅读全文
摘要:1、nginx配置文件:源码安装情况下,nginx.conf在解压后的安装包内。yum安装,一般情况下,一部分在/etc/nginx/nginx.conf中,一部分在/etc/nginx/conf.d/default.conf中。 nginx配置反向代理和负载均衡,源码安装情况下在nginx.con
阅读全文
摘要:一、服务端 1、创建套接字: int socket(int domain, int type, int protocol); domain:指定协议族,通常选用AF_INET。 type:指定socket类型,TCP通信下使用SOCK_STREAM。 protocol:指定协议,通常为0。 返回值:
阅读全文
摘要:一、TCP报文格式 (图片来源网络) SYN:请求建立连接标志位 ACK:应答标志位 FIN:断开连接标志位 二、三次握手,数据传输,四次挥手 (流程图,图片来源于网络) (tcp状态转换图,图片来源于网络) 1、客户端向处于监听状态(LISTEN)的服务端发送请求连接的报文。此时,报文中SYN标志
阅读全文
摘要:动态规划与分治方法都是通过组合子问题的解来求解原问题,区别在于:分治方法将问题划分为互不相交的子问题,递归求解子问题,再将它们的解组合起来,求出原问题的解。分治算法可能反复的求解某些公共子问题,从而使效率下降,例如用分治法求第n个斐波那契数。动态规划算法对每个子问题只求解一次,将其解保存在一个表格中
阅读全文
摘要:一、特点 共享内存允许多个不同的进程可以访问同一块内存。相较于其他IPC形式,具有速度快,效率高的特点,共享内存的存在降低了在大规模数据处理过程中内存的消耗。 二、创建共享内存 1、头文件 #include <sys/ipc.h> #include <sys/shm.h> #include <sys
阅读全文

浙公网安备 33010602011771号