自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吃不够的圆儿宝

You are the sum of all your trainings

  • 博客(32)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 apache+php

apache运行机制剖析: (转)http://blog.csdn.net/hguisu/article/details/7395181#t7

2016-03-15 15:46:01 317

原创 MySQL知识大搜索

MySQL语句: http://blog.csdn.net/u011225629/article/details/46698969MySQL线程池: http://blog.csdn.net/u011225629/article/details/46721907MySQL索引详解: http://blog.csdn.net/u011225629/article/details/46754071

2016-03-09 14:59:36 404

原创 线程同步、IPC的方法

线程同步【——linux——】 1.互斥锁 2.条件变量 3.信号量【——windows——】 1.互斥量 2.临界区 3.原子访问 4.事件 5.信号量IPC【——linux——】 1.管道:无名管道是父子间的,有名任意 2.消息队列:快被取代 3.共享内存:最快,无须在进程间进行复制,而是直接在一块儿共享内存中读写。但要注意:一个进程读的时候确保数据已经写好,为了保证安全,

2016-03-09 08:52:43 775

原创 shell编程(三):监控信息、进程管理

监控端口:(lsof和netstat) Lsof –i和netstat –tnp统计磁盘:(df和du) df提供磁盘可使用情况;du提供磁盘使用情况 Du filename,显示的是字节数 Du –h finename,友好形式显示(带K、M、G等) Du –exclude “*.txt”,统计时排除所有txt文件 -b、-k、-m、-B blocksize,设置显示单位统计目录中最大

2016-03-09 08:45:39 470

原创 shell编程(二):文件操作

文件操作常用命令:dd、comm、grep、egrep、cut、head、tail、sed、awkdd if=/dev/zero of=junk.data bs=1M count=1, if是输入,of是输出,bs是指定文件块大小,count是文件块个数。使用head和tail命令! Head filename,打印文件前10行 Head –n 4 filename,打印文件前4行 Head

2016-03-07 09:02:06 381

原创 字符串匹配

BM、KMP、SUNDAY算法BM 算法和 KMP 算法一样,也是构造一个辅助的模式函数来加速匹配的速度, 但BM算法优于KMP。 SUNDAY 算法描述:字符串查找算法中,最著名的两个是KMP算法 (Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情 况下均具有线性的查找时间。但是在实用上,KMP算法并不比最简单的c库函数 strstr

2016-03-05 16:32:39 294

原创 shell编程(一):简单命令

1.默认使用 #!/bin/bash。2.echo“hello”、echo ‘hello’和echo hello都可以打印hello,但是双引号不能打印!,只能放在双引号外面,或使用\转义。单引号不能打印变量值$var,会被原样输出。3.printf格式化输出 4.获取pid: ps –u root | grep filename 或pgrep filename5.查看进程环境变量: ca

2016-03-04 20:42:40 378

原创 网络基础知识(二):TCP

1.一个TCP数据报文格式: 1)TCP报头通常是20字节,不过有选项可以增加报头长度。由首部长度的4bit可知,最大TCP头长度可达到60字节。 2)Flag共占6位,有6个标记,分别是: URG——紧急指针(16位的紧急指针式紧急数据的偏移量) ACK——确认序号有效 PSH——接收方尽快将数据提交给应用层 RST——重建连接 SYN——同步序号发起连接 FIN——发送端完成

2016-02-29 16:48:26 1431

原创 网络基础知识(一):网络分层、UDP协议

TCP/IP四层: 应用层、运输层、网络层、链路层 应用层是用户进程,而其他三层是内核工作应用层协议(TCP): FTP(21) 文件传输协议 Telent(23) 远程登陆 SMTP 简单邮件传送协议 应用层协议(UDP): DNS(53) 域名解析协议 BOOTP(68) 引导程序协议 TFTP(69) 简单文件传送协议 SNMP

2016-02-29 08:29:58 1348

原创 C++内存泄漏处理

/*功能: 我们重载了operator new是全局的,new运算符先调用我们重载的operator new,再调用相应的构造函数,一般来讲都是使用placement new直接在operator new返回的指针上调用相应的构造函数。这里如果我们重载的是类的operator new会优先调用类内的,而不是全局的,即使类内的调用错误也不会向外找了。*/【memchecker.h】struct

2016-02-28 14:05:48 492 1

原创 gdb调试学习笔记

读《软件调试的艺术》对GDB相关内容的笔记整理。 【缩写】 p print n next s step r run b break bt backtrace c continue i b info break cond condition dis disable

2016-02-28 14:02:15 448

转载 Reactor和Proactor

1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个与事件分离

2016-02-28 13:57:19 314

转载 Mysql新建用户和数据库授权

一、新建用户//登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values(“localhost”,”cplusplus”,password(“cplusplus.me”)); //刷新系统权限表 mysql>flush privileges; 这样就创

2016-01-26 13:16:01 299

原创 APUE读书笔记(二):文件和目录

第四章 文件和目录函数stat stat函数用于返回此命名文件有关的信息结构,我们平时使用的shell命令:ls -l就是调用的stat函数。 stat和lstat函数的区别: 当文件为符号链接时,stat返回所引用的文件信息,即跟随符号连接;而lstat返回的是符号链接本身的信息,即不跟随符号链接。函数access和faccessat 用于按实际用户ID和实际组ID进行访问权限测试。

2015-10-07 16:46:55 425

原创 APUE读书笔记(一):Unix基础知识、文件I/O

由于对linux后台服务器方向的向往,在网上研读了各位大神的blog之后,决定拜读APUE,之后再研究UNP。现在开始记录APUE的学习笔记。第一章 UNIX基础知识1.errno、strerror和perror errno就是整形值,各个值代表着不同的错误;errno有两点要注意:第一,如果没有错,其值不会被清除;第二,任何函数都不能将errno置零,且没有任何errno错误信息被定义为0。

2015-10-04 15:36:16 547

转载 Linux后台开发应该具备哪些技能

Linux后台开发应该具备技能一、linux和os:1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的使用实现原理、然后共享内存段被映射进进程空

2015-09-15 16:23:49 481

转载 快速排序的优化

转自:http://blog.csdn.net/insistgogo/article/details/77850381、快速排序的基本思想:快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。2、快速排序的三个步骤:(1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基

2015-08-27 15:50:30 379

原创 递归分析和分治算法

递归分析递归分析一般利用的方法是主定理,辅助的方法有替换法(也就是数学归纳法),递归树法~ 主定理: 递归树: 注意:主定理的证明也是通过递归树的方法进行的。分治方法算是算法设计中一种很常见的设计方式,一般能够大大提高算法的时间复杂度的~分治的思想很简单,就是将一个问题切分为两个或者多个独立的子问题,子问题的解决方案同,子问题解决之后通过合并算法组合成更大问题的结果,所以分治算法主要有三个步骤

2015-08-24 16:02:23 692 1

原创 C++知识点随笔(五):虚继承

虚继承的出现就是为了解决多继承中访问不明确的问题。 首先让我们先看一下虚继承的代码:#include<iostream>using namespace std;class AA{public: int m_a; AA() { m_a = 100; }};class BB : virtual public AA{public: in

2015-08-20 20:33:30 514 2

原创 STL学习笔记(三):空间配置器

我们首先来看一下STL空间配置器中的第一级和第二级配置器: 第一级配置器:_malloc_alloc_template_malloc_alloc_template直接使用C语言中的malloc、free和realloc进行申请、释放和重新申请的操作,并且在内存空间不足情况下模拟C++的set_new_handler()。什么是set_new_handler机制? 当内存空间不足的情况下,不是直接

2015-08-17 11:19:37 460 1

原创 STL学习笔记(二)

STL的基本观念就是将数据和操作分离,数据都在容器(Container)里,操作都在算法(Algorithm)里,而连接数据和操作的桥梁就在迭代器(Iterator)里。所以容器、算法、迭代器也是STL中最重要的组成部分。 STL是泛型编程的优秀案例。容器1. 序列式容器:vector、list、deque(string、array也可认为是) string和vector差不多,去别就是它的元素

2015-08-08 15:58:48 775 1

原创 C++知识点随笔(七):成员函数指针、模拟虚函数列表

成员函数指针普通的全局函数指针定义:typedef void (*PFUN)();普通的函数指针可以指向返回值和参数类型都相同的全局函数,可是成员函数该怎么办呢?如果成员函数是static的,那么可以正常指向,如下实例:#include <iostream>using namespace std;class CAA{public: static void ShowStatic(){

2015-08-04 11:36:52 500 3

原创 C++知识点随笔(二):继承、多态

一、继承继承是类之间的,对象之间没有什么关系,比如子类继承了父类的成员属性,并且子类的对象修改了这个成员属性,可是修改之后我们再去输出父类的成员属性发现并没有发生改变,原因是这两个对象本来就是两块空间里的,没有什么联系。 继承只是继承父类的成员属性,成员函数并不会发生继承,因为本来就只有一份儿,只不过子类可以使用父类的成员函数罢了。 我们用C语言的结构体来模拟一下C++的继承,其实就相当于在子结

2015-08-02 21:09:50 623 1

原创 STL学习笔记(一)

想要学号C++,掌握STL是必不可少的。在网上也查询了一些STL的推荐书籍,决定按照主流的学习路线循序渐进。学习顺序: 1. 《C++标准程序库:自修教程与参考手册》 2. 《STL源码剖析》 那么现在开始记录我的《C++标准程序库:自修教程与参考手册》学习过程啦!基本型别的显式初始化 如果使用不含参数的、明确的构造函数调用方式,基本型别就会被初始化为零,具体方法:template<type

2015-07-30 10:51:38 506 1

原创 C++知识点随笔(六):模板

一、函数模板C++中模板和重载的区别: 模板是除了类型全都相同的情况下可以使用;而重载是里面的功能也有不同时使用的。 下面看一个函数模板的使用实例:#include<iostream>using namespace std;typedef struct _Node{ int m_a; char* m_str;}Node;bool leftNodeBig(Node a, No

2015-07-09 13:59:29 388 1

原创 C++知识点随笔(四):耦合问题、new和malloc、虚析构、多继承

一、耦合问题即互相包含头文件的问题,解决方法: 1. 在一个类的头文件里声明另一个类,那么我们在定义的时候就不能new对象,但是可以定义一个指针。这只是为了保证编译通过,等到具体创建对象的时候还是会使用原来的类成员。 2. 可以抽象出一个父类,让这个父类里面同时包含这两个子类里需要耦合的部分。 3. friend方法,其实也相当于一个声明,但是friend会破坏类的封装性。(传说中友元是不

2015-07-08 09:50:25 808 1

原创 C++知识点随笔(三):static、const、friend、inline

一、static静态成员属性为什么要在类外初始化? 静态成员属性之所以不能在构造函数内初始化,是因为构造函数必须要在定义对象的时候才会调用,而static变量在编译的时候就创建了,所以要在类外通过类名作用域对static成员属性初始化。注意:sizeof()在C++中和C语言有不同,当我们:cout << sizeof(//类名) << endl;的时候,不是输出这个类的大小,而是输出定义一个这个

2015-07-07 09:24:18 997 1

原创 C++知识点随笔(一):this指针、拷贝构造函数、初始化列表

一、成员属性与成员函数成员属性是定义对象才有的,sizeof()计算类的大小的时候包含在内; 而成员函数是编译时就放在代码区的,所以sizeof()并不把其计算在内,并且调用成员函数并不用定义对象,如下面的代码就可以正常运行:CPeople *p = NULL;p->Show();而成员函数在使用成员属性的时候,过程是这样的:我们定义的对象在调用成员函数的时候,首先将当前类的地址给成员函数,然后

2015-07-05 17:42:39 1118 1

原创 DRBD自动化使用脚本

1. 启动脚本(startDRBD.py):#! /usr/bin/env python#_*_coding:utf-8_*_import os,sysimport threadingfrom time import ctime,sleepimport commandsdef GetIsPrimary(): #判断输入参数是 primary 还是 secondary if l

2015-07-05 14:45:35 685 1

转载 C/C++中static,const,inline三种关键字详细总结

一、关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用:一、控制存储方式 static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 引出原因: 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,

2015-07-05 14:25:21 682 1

原创 DRBD使用及运维

在drbd安装文档中我们已经成功启动drbd服务了,下面开始设置主节点:设置Primary Node: 以下操作仅在node1执行。 设置node1为primary node:drbdadm primary --force r0再次查看node1的状态:cat /proc/drbd 查看node2状态:cat /proc/drbd 我们看到node1状态已经变成Primary/Seconda

2015-07-03 20:47:16 1296 2

原创 CentOS环境DRBD的编译安装

DRBD安装环境介绍DRBD的安装需要两台机器,后面都称为节点(node1和node2),node1和node2都是CentOS-6.2操作系统,所使用镜像为CentOS-6.2-x86_64-bin-DVD.iso,IP地址分别为10.255.48.24和10.255.48.22,node1和node2各自有一个5G的硬盘sdb,安装drbd版本是drbd-8.4.6,需要强调的是:两个节点

2015-07-02 11:24:10 1105 2

java se课件(课程源码、笔记).zip

javaSE基础资料,最权威的笔记。

2020-05-30

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

TA关注的人

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