自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知行且执行

记录成长的点点滴滴...

  • 博客(80)
  • 资源 (6)
  • 问答 (4)
  • 收藏
  • 关注

原创 存储

整条写、重构写和读改写整条写 每个条带上的segment都更新,不需要额外的读写操作,写性能最好重构写 当需要写入的磁盘数目超过磁盘阵列的一半时 (1)将Stripe上不需要修改的segment的数据读出,然后与需要修改的segment上的新数据进行XOR运算获得新的校验值 (2)将新的segment数据、不需要修改的原segment数据以及刚计算的XOR校验值一起写入读改写 当需要

2016-11-20 17:29:02 676

原创 深入理解计算机系统(第二版)

Charter 2编译系统以一个C语言文件hello.c说明计算机的编译过程 预处理器:将以#开头的文件插入进来 编译器:将其翻译成汇编程序,汇编语言为不同的高级语言提供一个统一的输出 汇编器:将汇编程序翻译成机器语言 链接器:将程序需要的预先编译好的目标文件(上图如printf.o)链接进来生成可执行的目标文件

2016-06-29 10:44:25 961

原创 TCP/IP详解第二版(卷1 协议)

TCP/IP详解第二版(卷1 协议)-Chapter 2IP地址的表示标准的IPV6地址表示方式是 5f05:2000:80ad:5800:0058:0800:2023:1d71,为了简化IP地址的书写,有一些公认的IPV6地址简化表示方式:每个块的前导0不用写,比如以上IPV6地址可以表示为 5f05:2000:80ad:5800:58:800:2023:1d71若块为0可以省略为::,比如

2016-06-10 11:20:00 5032

原创 C++对象模型

1、简单模型1.1、概述C++类中有两种数据成员:static、nonstatic;三种成员函数:static、nonstatic、virtual。它们在内存中的布局方式和访问方式是不同的。像nonstatic对象是在类对象内存储,虚函数是通过一个虚表指针指向一个虚表再通过虚表查找。静态和非静态函数都在对象之外存储。1.2、对象模型图例定义一个C++类: class Base{public:

2015-10-12 08:53:10 899

原创 heap操作

使用STL中的make_heap, push_heap, pop_heap, sort_heap进行对操作不用每次都自己写建立堆,调整堆和堆排序的代码了!make_heap():根据输入的迭代器,把其范围内的元素建立堆,默认是大顶堆(less())push_heap():末尾添加一个元素,重新调整堆,该算法是在已经满足堆序的情况下添加元素,默认是大顶堆(less())pop_h

2015-10-08 15:55:43 1117

原创 C++输入输出

C++中的一些常用输入输出:#include #include #include #include using namespace std;void win_io() //由控制台输入{ string line; cout << "输入一些字符后Enter:"; //cin >> line; getline(cin, line); //输入可以带有空格 cout <<

2015-10-07 21:18:31 650

转载 Windows下使用C++获取目录及子目录下所有文件

转载自:http://read.pudn.com/downloads192/sourcecode/math/903237/贝叶斯邮件过滤源程序(VC%2B%2B实现的源程序)/ReadDir/BrowseDir.h__.htmhttp://blog.csdn.net/abcjennifer/article/details/18147551BrowseDir.h#in

2015-10-07 17:37:46 6264 1

原创 GitHub for Windows

在Windows下向GitHub上传和Clone repository1 下载GitHub for Windows安装2 创建一个新的repository(仓库)Name中起一个repository的名字,Local path路径为生成本地项目的路径可以自己设置,此处Name以MakeCodeHighlight_Android为例 Local path设置:选择Options进行相应的路径和用

2015-10-05 23:43:52 938

原创 操作系统基本知识

1 死锁1.1 死锁产生原因(1)因为系统资源不足。 (2)进程运行推进的顺序不合适。 (3)资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。1.2 死锁的必要条件(1)互斥条件:一个资源每次只能被一个进程使用。 (2)请求与保持条件:一个进程因请求资源而阻塞时,对

2015-10-04 11:30:26 899

原创 TCP协议

1 TCP协议1.1 TCP认识TCP(Transmission Control Protocol 传输控制协议)是一种面向连接、可靠的、基于字节流的传输层协议。TCP在传送数据之前会先相互发送一些预备报文段协商一些参数,比如序号等等,TCP将用户数据打包成报文段,发送数据后启动一个定时器,另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,TCP提供端到端的流量控制,并计算和验证一个强

2015-10-04 11:02:30 1824

原创 计算机易混淆概念(待续)

计算机网络1、IP地址(1)IP地址划分 (2)五类IP地址范围 (3)私有IP地址 10.0.0.0——10.255.255.255 172.16.0.0——172.31.255.255 192.168.0.0——192.168.255.255 C++语言1、引用与指针 (1)指针是一个实体,而引用仅是个别名; (2)引用使用时无需解引用(*),指针需要解引用;

2015-10-04 10:57:25 1304

原创 单例模式C++实现

单例模式了解一般情况下,我们需要一些工具性质的类,这种类没有太多跟自身有关的数据。若每次使用时都new一个实例会增加不必要的开销,也是代码臃肿,其实我们只需要一个实例即可。若是采用全局变量或是静态变量方式,虽然可以实现但是影响了封装性。此时我们可以使用设计模式中的Singleton模式,我们把构造函数声明为private, 这样就不会被外部new了。常见的单例模式主要分两种,一种是在声明时立即实例化

2015-09-16 19:33:17 879

原创 C++中string使用

所有解释已经在程序中标明,不再单独解释代码://如何使用C++标准库类型中的string#include #include #include using namespace std;int main(){ //1、构造函数 cout << "***********************string类的构造函数***********************" << en

2015-09-03 22:11:16 2807

原创 UDP协议

1 UDP协议1.1 UDP认识UDP是一种简单的面向数据报、无连接、传输层协议,并且保留了信息边界。UDP不提供错误校正,不保证有序,无法去重复,没有流量控制和拥塞控制,不能保证数据一定到达目的地,但是可以通过校验和提供错误侦测。UDP提供的的是不可靠传输,因此要有应用层来提供这些功能。使用UDP的应用程序:DNS,NFS(Network File System),TFTP,BOOTP,SNMP1

2015-08-01 10:57:30 8252

原创 C与C++的区别

1 C与C++设计区别C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它

2015-07-24 10:58:16 1328

原创 字符串Hash函数

Hash函数:Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。完美的h

2015-07-19 11:29:18 715

原创 进程同步及避免死锁经典问题

一、读者-写者问题计算机系统中的数据(文件、记录)常被多个进程共享,但其中某些进程可能只要求读数据(称为读者Reader),另一些进程则要求修改数据(称为写者Writer)。就共享数据而言,Reader和Writer是两组并发进程共享一组数据区,要求:(1)允许多个读者同时执行读操作;(2)不允许读者、写者同时操作;(3)不允许多个写者同时操作。Reader和Writer的同步

2015-07-12 19:49:05 2916 2

原创 关于Blog使用

1、网易博客http://inowtofuture.blog.163.com/blog/#m=0使用时间:2011年8月—2012年2月记录内容:主要记录本科参加ACM期间在POJ(北京大学OJ),HDOJ(杭州电子科技大学OJ),NYOJ(南阳理工OJ)刷的一些题的思路、解法和代码。2、博客园http://www.cnblogs.com/zhixingqiezhixing/

2015-07-09 00:11:41 1375

原创 常见小问题(待更新)

1、求一组数中第K大或第K小的数思路:使用快速排序#include #include using namespace std;const int ARRAY_LEN = 100;int iarray[ARRAY_LEN];int divide(int low, int high){ if(low>=high)return low; int pvoit = iarra

2015-06-30 22:54:04 890

原创 排序算法(待更新)

1、Bubbling sort#include #include using namespace std;void bubbleSort(int iarray[], int n){ bool flag = false; for(int i=0; i<n-1&&!flag; ++i) { for(int j=i+1; j<n; ++j) { if(iarray[i

2015-06-30 22:48:52 596

原创 Linux常见问题(CentOS)

1、开机启动项装双系统(Win7与CentOS7)时先装Win7系统然后装CentOS7系统造成开启启动项选择系统时没有Win7选项的解决办法:针对CentOS7系统,在终端下使用vi /boot/grub2/grub.cfg命令打开文档在文档中相应的Linux启动entry下加上Win7选项如下(自己可以加一下注释):menuentry ‘Windows 7’{ set ro

2015-06-29 22:54:41 1716

原创 HDU1232 畅通工程

Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000

2015-06-15 21:11:25 602

原创 2014WAP校园招聘笔试题

这是2014年WAP笔试的第一题,当时没有做出了,最近在网上看到一篇博客写了关于这道题的解法,自己看了看用C++实现了。博客地址:http://blog.csdn.net/litoupu/article/details/41220817题目:AbstractWe are planning an orienteering game.The aim of this game is to

2015-05-09 20:32:26 2285

原创 2015小米在线笔试题

1、问题:输入两个32位int型数,求其他们二进制位有多少不相同。      思路:对输入的两个数m,n进行异或操作结果为a,a的二进制中有多少位为1就是所求结果,                  让a分别与32个只有一位为1其它是0的int数进行&操作若不为0就可以判断这位为1.      代码:#include #include #include using nam

2015-04-25 10:31:39 1258 1

原创 条款27:尽量少做转型操作

特别说明dynamic_cast和static_cast两种1、static_cast#include using namespace std;class Base{public: Base(int i = 0):bVal(i){cout<<"基类构造函数"<<endl;} virtual void say() { cout<<++bVal<<endl; }

2015-04-19 20:48:27 619

原创 C++中vector和set删除一亿个数字中的奇数

一、vector先贴代码再解释:#include #include #include #include using namespace std;const unsigned int NUM = 100000000;void removeOdd1(vector& a){ for(vector::iterator it = a.begin();it!=a.end();)

2015-04-18 19:07:13 2083 2

原创 程序开发辅助工具

1、C/C++内存问题检查利器——Purify

2015-04-18 16:51:16 666

转载 C++ 虚函数表解析

文章转自:http://blog.csdn.net/haoel/article/details/1948051/前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模

2015-04-18 16:33:59 375

转载 堆内存和栈内存详解

文章转自:http://blog.csdn.net/abcjennifer/article/details/39780819堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结

2015-04-18 15:22:51 518

原创 条款25:考虑写一个不抛出异常的swap函数

一、全特化与偏特化特化的意义:对于特定类型如果你有更好的方式实现,就应该由你来实现。全特化:指定模板的每个数据类型偏特化:只指定模板中某些数据类型1、类#include using namespace std;templateclass myClass{public: myClass(TYPE1 i, TYPE2 j):a(i), b(j){cout<<"这是类

2015-04-16 17:07:44 695

原创 红黑树

一、红黑树性质二叉搜索树中若一个节点没有父节点或子节点则该节点相应属性的值设为NIL,我们视NIL为二叉搜索树的叶节点(外部节点),带关键字的为内部节点。一棵红黑树是满足下列五条性质的二叉搜索树: 1. 树的每个节点不是红色就是黑色 2. 树的根节点是黑色 3. 树的每个叶节点(NIL)为黑色 4. 若节点是红色则它的孩子必须是黑色(若有孩子的话) 5. 树中每一个节点到其

2015-04-15 19:47:21 733

原创 NYOJ 304 节能

节能时间限制:1000 ms  |  内存限制:65535 KB难度:5描述Dr.Kong设计的机器人卡多越来越聪明。最近市政公司交给卡多一项任务,每天早晨5:00开始,它负责关掉ZK大道右侧上所有的路灯。卡多每到早晨5:00准会在ZK大道上某盏路灯的旁边,然后他开始关灯。每盏灯都有一定的功率,机器人卡多有着自觉的节能意识,它希望在关灯期间,ZK大道右侧

2014-12-13 21:04:25 1374

转载 最大似然估计与最大后验概率

最大似然估计:最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知。我们没有人力与物力去统计全国每个人的身高,但是可以通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差。最大似然估计中采样需满足一个很重要的假设,就是

2014-11-08 11:47:04 784

原创 Python(三):使用Apache运行Python程序

1、现在Apache服务器并安装2、

2014-09-27 19:21:20 9177

转载 Failed to create .NET Frameworks PropertyGrid component错误的解决方案

命令行的位置:开始菜单---->全部程序----->vs2008--->tools---->命令行 .输入: devenv /resetskippkgs .再重新启动一次文章来源:http://blog.csdn.net/leewolfe/article/details/5216564

2014-09-19 23:51:20 1559

原创 Python手册学习(二):集合

1.集合的相关操作

2014-09-07 18:36:08 813

原创 Python手册学习(一):数字

1、二进制,十进制,十六进制计数

2014-09-07 11:46:30 988

原创 C++格式化输出

/**C++ 格式化输出*/#include #include using namespace std;int main(){ int a = 17; float b = 1.23456789; cout << dec << a << endl;//十进制 cout << hex << a << endl;//十六进制 cout << oct << a << end

2014-06-07 14:24:52 894

原创 OpenCV中Mat操作clone() 与copyto()的区别

// Mat is basically a class with two data parts: the matrix header and //a pointer to the matrix containing the pixel values #include #include using namespace std ;using namespace cv ;int main

2014-04-28 14:40:21 30345

原创 可变参数函数的使用:va_start() , va_end() , va_list

#include #include void arg_test(int i, ...);void arg_test1(int i , ...) ;int main(){ //int int_size = _INTSIZEOF(int); //printf("int_size=%d\n", int_size); //arg_test(4,1,2,3,4);

2014-04-26 21:50:38 872

斯坦福机器学习讲义(全英文原版)Stanford-Machine-Leaning.pdf

吴恩达斯坦福大学机器学习课程英文原版讲义,可以配套课程使用

2017-10-24

C++对象模型测试代码

验证C++对象模型,对C++中类及对象的内存布局做了详细说明,并使用代码验证模型

2015-10-11

数字图像处理FFT

数字图像处理快速傅里叶变换FFT的PPT和程序 程序环境:VS2010+OpenCV2.0

2013-12-16

OpenGL帮助文档

glut-API.pdf openglapi.chm opengl编程指南第七版源码

2013-11-02

Window程序设计帮助文档

WindowAPI.chm windows程序设计第五版.chm 学习windows的必备工具

2013-11-02

opengl练习题一

opengL入门基本程序训练,画出一些点,线,三角形,可以用鼠标旋转,用键盘控制视角大小

2013-04-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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