排序:
默认
按更新时间
按访问量

设计模式-----工厂和抽象工厂

一、简单概念 简单工厂:工厂类中,根据条件决定一个接口由哪个具体产品类来实现; 工厂方法:创建多个工厂类。各个工厂类中,都对应一个获得接口A实例的方法,用户决定使用哪个工厂; 抽象工厂:对工厂方法进行扩展。各个工厂类中,再增加一个获得接口B实例的方法; 注:多个工厂类都继承自同一个接口; ...

2018-08-13 17:17:49

阅读数:26

评论数:0

不能实现为虚函数的函数以及原因

(1)只有类的成员函数才能说明为虚函数。(虚函数的目的是为了实现多态,多态和集成有关,所以声明一个非成员函数没有任何意义) (2)静态成员函数不能是虚函数。(静态成员函数对于每一个类只有一份代码,所有的对象共享这份代码,它不归某个对象所有,所以没有动态绑定的必要性,不能被继承,只属于该类); ...

2018-08-11 15:34:49

阅读数:32

评论数:0

深入理解C++中的多态

一、多态的分类 1.静多态:在编译期间就可以确定函数的调用地址,并产生代码。也就是说地址是早早绑定的;其往往是通过函数重载和模板来实现; 2.动多态:函数调用的地址不能在编译期间确定,必须在运行时才确定;其主要是通过虚函数来实现; 二、动多态 1、什么是动多态? 简而言之就是用父类型的指...

2018-08-11 15:22:35

阅读数:34

评论数:0

重载、重写(覆盖)、重定义(同名隐藏)的区别

重载:指在同一作用域中允许有多个同名函数,而这些函数的参数列表不同,包括参数个数不同,类型不同,次序不同,返回值相同与否并不影响是否重载; 重写和重定义则有点像,区别就是在写重写的函数是否是虚函数,只有重写了虚函数才能算作是体现了C++的多态性,否则即为重定义; 综上,他们的区别如下: ...

2018-08-11 14:13:59

阅读数:32

评论数:0

超详细的八大排序算法的各项比较以及各自的特点

一、八大排序算法的总体比较 二、算法各自的特点(具体实现见后面博客) 1.快排 (1)算法思想 选择一个基准元素,将比基准元素小的元素放在其前面,比基准元素大的元素放在其后面,然后在将小于基准值元素的子数列和大于基准元素的子数列按原来的方法排序,直到整个序列有序; (2)优缺点 优...

2018-08-09 23:01:56

阅读数:193

评论数:0

八种排序算法(四)----- 堆排序

堆排过程: 先将待排序的数视为完全二叉树(按层次遍历顺序进行编号,从0开始) 完全二叉树的最后一个非叶子节点,也就是最后一个节点的父结点。最后一个节点的索引为数组长度len-1,那么最后一个非叶子节点的索引应该是为 (len-1)/2.也就是从索引为2的节点开始,如果其子节点的值大于其本...

2018-08-09 22:43:39

阅读数:18

评论数:0

八种排序算法(三)---------冒泡排序、选择排序、插入排序、希尔排序、交换排序

一、冒泡排序 具体过程: d 代码实现: void bubble_sort(int* arr,int len) { if(arr == NULL || len < 0) return ; bool flag = true; f...

2018-08-09 19:54:28

阅读数:54

评论数:0

详解缺页中断-----缺页中断处理(内核、用户)

一、什么是缺页中断? 进程线性地址空间里的页面不必常驻内存,在执行一条指令时,如果发现他要访问的页没有在内存中(即存在位为0),那么停止该指令的执行,并产生一个页不存在的异常,对应的故障处理程序可通过从外存加载该页的方法来排除故障,之后,原先引起的异常的指令就可以继续执行,而不再产生异常。 二...

2018-08-06 18:21:42

阅读数:161

评论数:0

fork()部分可能会问到的问题总结(持续更新)

pcb是什么,有什么作用? Pcb是进程管理和控制的最重要的数据结构,每个进程均有一个PCB,其中包含: 进程标识符; 处理机的信息(通用寄存器,指令计数器,用户的栈指针); 进程调度信息(进程状态,进程优先级,事件); 进程控制信息(程序的数据的地址,进程同步和通信机制); 系统是通过...

2018-08-04 10:00:58

阅读数:112

评论数:0

fork()的底层实现

  fork之后父进程与子进程的区别 进程ID不同;(父进程的返回值是子进程的ID) 子进程中tms_utime  tms_stime  tms_cutime和tms_ustime的值设为0; 子进程不继承父进程设置的文件锁(子进程继承了父进程中的所有互斥锁、读写锁和条件变量(包括他们的状态...

2018-08-04 09:48:35

阅读数:57

评论数:0

select poll epoll的区别及epoll的底层实现

Select  poll每次循环调用时,都需要将描述符和事件拷贝到内核空间;epoll只需要拷贝一次; 这种情况在对于描述符数量不大的情况下还可以,但是当描述符的数量达到十几万甚至上百万的时候,他们的效率就会急速降低,因为每一次轮询都需要将这些所有的socket描述符从用户态拷贝到内核态,会造成大...

2018-08-04 09:41:31

阅读数:274

评论数:0

深入了解MySQL存储引擎-------InnoDB

如果想看自己的数据库默认使用的那个存储引擎,可以通过使用命令SHOW VARIABLES LIKE 'storage_engine';一、InnoDB存储引擎1.InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID)事务的ACID属性:即原子性、一致性、隔离性、持久性          ...

2018-07-12 09:54:29

阅读数:162

评论数:0

浅谈MVC设计模式

    最近在整理自己所写的项目时,其中有一个项目利用了MVC设计模式,当时做项目的时候只是简单会使用这个设计模式。今天突然想研究研究它,所以结合网上的一些资料,将MVC设计模式做一个简单的总结概括。    MVC设计模式最大的特点:        可以实现模型的复用:一方面,模型只返回处理结果,...

2018-05-30 11:51:05

阅读数:71

评论数:0

深入理解Hashtable

一、基本知识Hashtable它是一个散列表,它存储的内容是键值对映射。Hashtale继承于Dictionary,实现了Map、Cloneable、Java.io.Serializable接口。Hashtable的函数是同步的,这意味着它是线程安全的。它的key、value都不可以为null。此...

2018-05-19 18:37:52

阅读数:56

评论数:0

条件变量与互斥锁的使用

一、条件变量1.说明    条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待条件变量的条件成立而挂起;另一个线程使“条件成立”(给出条件成立信号)2.创建和注销条件变量有静态动态两种创建方式,静态方式使用PTHREAD_COND_INITIALIZER常量:pt...

2018-05-10 16:09:43

阅读数:52

评论数:0

C++11标准新特性

学习了!原文章链接:https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/index.html新特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入...

2018-05-02 20:43:27

阅读数:27

评论数:0

八种排序算法(二)-----归并排序

一、算法思想 首先将初始序列的n个记录看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2向上取整个长度为2(n为奇数时,最后一个序列的长度为1)的有序子序列。在此基础上,再对长度为2的有序子序列进行两两归并,得到若干个长度为4的有序子序列。以此类推,知道得到一个长度为n的有序...

2018-05-02 20:00:56

阅读数:24

评论数:0

八种排序算法(一)------快速排序

算法思想 找一个基准值,本题中基准值为数组中最右的元素,再定义两个指针begin(指向首元素)、end(指向尾元素); begin从前往后走找比基准值大的元素,找到后停下;end从后往前走找比基准值小的元素,找到后也停下;然后,交换arry[begin]和arry[end],依次循环操作; ...

2018-05-02 14:16:48

阅读数:17

评论数:0

浅谈IP分片的大小及其原因

一、IP分片的定义    IP分片是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组,这一过程称为分片。二、进行IP分片的原因    数据链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度。通常要传输的IP报文的大小超过最...

2018-04-22 19:31:22

阅读数:253

评论数:0

C++中static的作用

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。   一、面向过程设计中的static   1、静态全局变量   在全局变量前,加上关键字static,该变量就被定义成为一...

2018-04-22 13:21:18

阅读数:151

评论数:0

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