自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (16)
  • 收藏
  • 关注

转载 Linux环境下VI/VIM编辑文件时无权限保存的解决方法

在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的(感谢晓哲老师提供的方法):输入命令:%! sudo tee % > /dev/nul

2012-07-07 19:05:06 2105

转载 一个数以最少步骤分解为另外两个数和差问题的解决

有同学面试的时候遇到要求一个数以最少步骤分解为另外两个数和差问题的解决,大约描述是“将一个数分解为几个数的和或者差的形式,并且使步骤最小”。这类题的解题理论是数论里面的一次不定方程的整数解。引用 百度百科:定义1. 形如 ax + by = c ( a,b,c∈Z,a

2011-09-02 22:02:40 818

原创 C库源代码实现: strtok

NetBSD实现:1: char* strtok_r(char* string_org,const char* demial,char** last) 2: { 3: const char* spanp; //span表示分隔,p表示指针 4:

2011-09-02 10:57:15 1166

原创 浅谈模板函数的重载解析优先顺序

函数模板可以被重载、显式特化重载、普通函数重载。如以下函数模板的重载声明:namespace LDQ_TEST{ //函数模板定义 template T sum( T, int ); //T == double的显式特化 template( doubl

2011-09-01 20:47:27 3262 1

转载 函数模板和模板函数

1.函数模板的声明和模板函数的生成1.1函数模板的声明函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。函数模板的声明形式为:temp

2011-09-01 19:53:03 695

转载 类模板与模板类

1.类模板与模板类的概念⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。  如果一个类中数据成员的数据类型不能确定,或者是某

2011-09-01 19:36:08 450

转载 boost pool, object_pool实现

一:class simple_segregated_storage; boost/pool/simple_segregated_storage.hppsimple_segregated_storage (以下用SSS替代)实现一个单向链表,链表的每个节点是一个固定大小

2011-09-01 16:39:02 1422

转载 C++对象布局及多态实现的探索

虚函数的类的对象布局(1)    如果类中存在虚函数时,情况会怎样呢?我们知道当一个类中有虚函数时,编译器会为该类产生一个虚函数表,并在它的每一个对象中插入一个指向该虚函数表的指针,通常这个指针是插在对象的起始位置。所谓的虚函数表实际就是一个指针数组,其中的指针指向真正的

2011-09-01 15:40:47 493

转载 C++ Primer学习笔记 多重继承与虚继承

http://www.cublog.cn/u/18517/showart_252162.html题记:本系列学习笔记(C++ Primer学习笔记)主要目的是讨论一些容易被大家忽略或者容易形成错误认识的内容。只适合于有了一定的C++基础的读者(至少学完一本C++教程)。

2011-09-01 14:51:33 498

转载 用 C++ 设计一个不能被继承的类

分析:这是Adobe  公司 2007  年校园招聘的最新笔试题。这道题除了考察应聘者的C++  基本功底外,还能考察反应能力,是一道很好的题目。 在Java  中定义了关键字 final  ,被 final  修饰的类不能被继承。但在 C++  中没有final

2011-09-01 14:01:01 362

原创 内存管理内幕--Jonathan Bartlett ([email protected]), 技术总监, New Media Worx--

Jonathan Bartlett ([email protected]), 技术总监, New Media Worx2004 年 11 月 29 日本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言

2011-09-01 12:48:32 728

转载 引用计数

引用计数是这样一个技巧,它允许多个有相同值的对象共享这个值的实现。这个技巧有两个常用动机。第一个是简化跟踪堆中的对象的过程。一旦一个对象通过调用new被分配出来,最要紧的就是记录谁拥有这个对象,因为其所有者--并且只有其所有者--负责对这个对象调用delete。但是,所有权可以被

2011-09-01 10:31:24 476

原创 GCC下宏扩展后的++i

听讨论的时候,遇到一题是关于++i*++i的——这样的讨论意义不大,却也可以一窥编译器对相关问题的处理。原题如下相关代码说明如下#include stdio.h>#define POWER(X) X*Xint main(){ int

2011-08-31 20:53:23 499

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听

2011-08-30 20:51:18 438

转载 HFile存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:    1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即St

2011-08-10 10:22:03 546

转载 关于IO的同步,异步,阻塞,非阻塞

虽然网络上充斥了大量关于同步、异步、阻塞、非阻塞的文章,但大都是抄来抄去,没有一个权威的说法。但我找到了这一篇文章,该文章引用了《UNIX网络编程 卷1》的介绍,这本书的作者是Richard Stevens。如果有Richard Stevens在这方面的定义或者结论,那么我想,这

2011-08-10 09:49:06 460

转载 Cassandra存储机制

在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的顶级项目。最近twitter的一篇声明,表示将从MySQL迁移到Cassandra,更让其声名大振。Cassandra

2011-08-09 10:35:46 578

原创 函数式编程扫盲篇

<br /><br />1. 概论<br />在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。<br />孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。<br />那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪的今天再次拉入了我们的视野。<br /><br />2. 什么是函数式编程<br />在维基百科中,已经对函数式编程有了很

2011-05-21 20:49:00 624

转载 Trie树|字典树的简介及实现

<br />Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。<br />相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.<br /><br />其基本性质可以归纳为:<br />1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。 <br />2. 从根节点到某一节点,路径上经

2011-05-07 19:56:00 435

原创 KFS安装问题

<br /><br />KFS是GFS的一个C++开源实现,基本原理可以参考中文版[url]http://www.codechina.org/doc/google/gfs-paper/introduction.html[/url],英文版[url]http://labs.google.com/papers/gfs-sosp2003.pdf[/url]<br />源码下载地址:[url]http://sourceforge.net/projects/kosmosfs/[/url]<br />KFS与HDFS的

2011-05-06 10:30:00 792

原创 Linux--Linux互斥锁、条件变量和信号量

<br /><br />转载自 http://hi.baidu.com/yanxionglu/blog/item/a3eafdece87015f0b2fb95cd.html<br />进行多线程编程,最应该注意的就是那些共享的数据,因为无法知道哪个线程会在哪个时候对它进行操作,也无法得知哪个线程会先运行,哪个线程会后运行。所以,要对这些资源进行合理的分配和正确的使用。在Linux下,提供了互斥锁、条件变量和信号量来对共享资源进行保护。<br />一、互斥锁<br />互斥锁,是一种信号量,常用来防止两个进程

2011-04-24 23:18:00 498

原创 unix linux 文件锁

<br /><br />创建锁文件对于资源的排他访问,例如串口,是相当合适的,但是对于访问大的共享文件就是太好了。假如我们拥有一个由一个程序写入的大文件,但是是由许多不同的程序进行持续更新的。当一个程序正在记录一些在较长的时间内所得到的数据,并且正在为其他的一些程序进行处理时就会出现这样的情况。这些正在处理的程序并不会等待日志程序结束--他们是连续运行的--所以他们需要一些合作的方法从而可以提供对于同一个文件的同时访问。<br /><br />我们可以通过锁住文件的一个区域来到达这种结果,这样只是文件的某一

2011-03-07 20:06:00 966

原创 ZZIO模型– 同步和阻塞,异步和非阻塞的区别

<br /><br />在http://hi.baidu.com/deep_pro/blog/item/cf964b0ade9f4d1594ca6b1b.html<br /> <br />这些词之间的区别难倒了很多人,还有什么同步阻塞, 同步非阻塞, 异步阻塞, 异步非阻塞,乱七八糟的。<br />很多文章也想讲明白这个问题。著名且引起热议的有<br />http://www.ibm.com/developerworks/cn/linux/l-async/<br />http://www.cppblog.c

2011-02-27 14:01:00 5583

原创 ZZ讲讲volatile的作用

<br />一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br />    1). 并行设备的硬件寄存器(如:状态寄存器) <br />    2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) <br />    3). 多线程应用中被几个任务共享的变量

2011-02-19 16:14:00 597

原创 linux totem 安装解码器

<br />fedora 10.<br /><br />totem 在最近由于版权等限制,只自带了很少一部分解码器,甚至播放mp3都需要下载解码器,但是,search一般都搜索不到任何解码器。<br />如果启用 RPM Fusion 软件仓库,它会自动搜索并安装 mp3 解码器。<br />打开一个终端吧,输入:<br /><br />su -<br />rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-s

2011-01-02 12:54:00 7399 1

原创 ZZ一道百度面试题:求数组中出现次数超过一半的数

<br /><br />一道百度面试题<br /> <br />现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。<br /> <br />Yzf给出的算法:<br />1.    遍历数组,如果元素的个数是1,算法退出<br />2.    元素两两比较,如果两个数相同,则删去一个,如果两个数不同,则都删去。<br />3.    重复执行1<br /> <br />复杂度分析:<br />每次遍历至少要删掉n/2个元素,首次遍历元素的个数是n,<br />segma

2010-12-21 21:21:00 2557 2

原创 UNIX进程组,会话期,作业控制

<br /><br />在UNIX系统中,作业控制允许在一个终端上启动多个作业(进程组),控制哪一个作业可以存取该终端,以及哪些作业在后台运行。<br />为了支持作业控制,引入了进程组,会话期,控制终端等概念,还需要内核以一定的信号支持。<br />一·进程组。<br />每一个进程除了有一个进程PID之外,还属于一个进程组,用进程组ID表示。返回当前进程组ID的系统调用为:pid_t getpgrp();<br />每个进程组都有一个组长进程,组长进程的标识是进程组ID等于其进程ID。<br />进程可

2010-12-15 15:03:00 1345

原创 分布式文件系统MFS(moosefs)实现存储共享(第二版)转

<br />分布式文件系统MFS(moosefs)实现存储共享(第二版)作者:田逸([email protected])由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS。在我这个网络环境里,N个服务器通过nfs方式共享一个服务器的存储空间,使得NFS服务器不堪重负。察看系统日志,全是nfs服务超时之类的报错。一般情况下,当nfs客户端数目较小的时候,NFS性能不

2010-12-05 17:31:00 595

原创 分布式文件系统MFS(moosefs)实现存储共享(第二版)转

<br />分布式文件系统MFS(moosefs)实现存储共享(第二版)作者:田逸([email protected])由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS。在我这个网络环境里,N个服务器通过nfs方式共享一个服务器的存储空间,使得NFS服务器不堪重负。察看系统日志,全是nfs服务超时之类的报错。一般情况下,当nfs客户端数目较小的时候,NFS性能不

2010-12-05 17:31:00 494

转载 KFS[CloudStore] 使用fuse挂载方法

<br /><br />1, 下载fuse-2.8.4.tar.gz<br />2,  tar -xzvf fuse-2.8.4.tar.gz<br />3,  ./configure && make && make install<br />注:需要root权限<br />4,  echo “/usr/local/lib” >> /etc/ld.so.conf<br />/sbin/ldconfig<br />5,  /sbin/modprobe fuse<br />6,  修改kfs-0.5中CMake

2010-12-03 15:24:00 842

原创 hypertable安装

参考资料:http://code.google.com/p/hypertable/wiki/HowToBuild#Building,_Installing,_and_Running_Tests安装平台:fedora 10基本依赖关系:1)yum install git gcc-c++ make cmake python-devel bzip2-devel zlib-devel expat-devel rrdtool rrdtool-devel2)wget http://downloads.sourcefor

2010-12-02 23:35:00 2625 1

转载 在linux下使用CMake构建应用程序

<br /><br />本文介绍了一个跨平台的自动化构建系统 CMake 在 linux 上的使用方法。 CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来。文中通过一些例子介绍使用 CMake 处理多源文件目录的方法、查找并使用其他开发包的方法以及生成 debug 版和 release 版程序的方法。<br />CMake 简介<br />    CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程

2010-11-26 14:32:00 475

原创 log4cpp安装报错

错误“BasicLayout.cpp:37: error: expected constructor, destructor, or type conversionbefore ‘需要一个patch Index: log4cpp-1.0/src/BasicLayout.cpp===================================================================--- log4cpp-1.0.orig/src/BasicLayout.cpp 2008-0

2010-11-26 11:11:00 966

原创 berkeley db安装的问题

<br />可能不生成libdb_cxx.a库文件、因为对源码configure时需要加入参数../dist/configure --enable-cxx<br />这样生成库

2010-11-25 23:39:00 561

转载 Using g++

Using g++Most of this document was taken nearly verbatim from Paul Hilfinger. Any errors introduced, however, are David Wolfe's.IntroductionGNU provides are a publicly-available optimizing compilers (translator) for C, C++, Ada 95, and Objective

2010-11-23 21:39:00 583

转载 Makefiles

BackgroundFirst of all, anyone who does not know how to write a makefile must have missed the first discussion section (in the second week of class), because there was a handout on makefiles and tar.Note: this was written for the g++ compiler. You shou

2010-11-23 21:03:00 780

转载 怎样成为一名Android开发者

<br />Chris(克里斯)是一位来自波兰的Android应用开发者,最为一名非著名的开发者他开发的应用在Android Market上免费提供下载,并通过广告获得收入,最近他在自己的博客上面分享了从事Android开发带来的收入情况,并通过自己的经历给予 Android开发入门者非常忠实的忠告。作为国内从事Android开发的同行,APP虎第一时间发现并翻译了他的文章,以与广大Android开发者和即将进入Android开发的人们分享。<br />很多人认为从事Android开发是一件赔本的买卖。 他

2010-11-20 09:40:00 422

转载 函数指针与typedef

<br />于C++中函数指针的使用(包含对typedef用法的讨论) <br />(一)简单的函数指针的应用。<br />//形式1:返回类型(*函数名)(参数表) <br />char (*pFun)(int); <br />char glFun(int a){ return;} <br />void main() <br />{ <br />    pFun = glFun; <br />    (*pFun)(2); <br />} <br />        第一行定义了一个指针变量pFun。首先

2010-11-10 11:57:00 371

转载 Java中回调机制

<br />Java中的回调(callback)是很重要的一个概念,spring整合hibernate大量使用了这种技术。<br />究竟怎样才是回调呢?<br />这是网上最多见到的说明:   <br />1.class   A,class   B   <br />2.class   A实现接口callback<br />3.class   B拥有一个参数为callback接口类型的函数<br />4.class   A运行时调用class   B中的函数,以自身传入参数   <br />5.class 

2010-11-10 11:04:00 748

原创 extern用法详解(转)

<br /><br />1 基本解释<br />  extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。<br />  另外,extern也可用来进行链接指定。<br />2 问题:extern 变量<br />  在一个源文件里定义了一个数组:char a[6];<br />  在另外一个文件里用下列语句进行了声明:extern char *a;<br />  请问,这样可以吗? <br />  答案与分析:<br />  1)、不

2010-11-05 21:22:00 344

北大研究生数据库课程资料

北大研究生数据库课程资料,杨冬清老师主讲 期末考试试题

2010-10-18

学习 bash (第二版)中文版

国外bash经典教材,中文版,学习bash快捷有效

2010-03-26

java语言编写的QQ

用Java语言编写的QQ通讯软件,有可执行的文件,也有eclipse源代码,有客户端可以相互通讯,同时又服务器端监视客户端行为

2010-03-25

Iptables 指南

快速入门熟悉iptables,30分钟学会,结合实践分析,浅显易懂

2010-03-25

Linux C函数 Linux C函数

Linux C函数,linux下C语言编程必备宝典,CHM格式快速方便查找各种函数接口定义

2010-03-25

c语言函数库 c语言函数库

c语言函数库,包含最常用的C各种函数定义,接口,CHM格式快速查找,方便简捷

2010-03-25

C语言函数速查 C语言函数速查

C 函数 速查,包含常用的C函数使用方法,接口定义等,必备常用书

2010-03-25

UML for Java Programmers中文版

UML for Java Programmers中文版

2009-06-14

linux 命令大全(涵盖所有Linux命令详细解释)

涵盖几乎所有linux命令的所有具体解释说明

2009-06-14

UML 参考手册

uml参考手册 介绍UML信息

2009-04-05

Thinking in Java练习答案

Thinking in Java经典书籍,这是书后答案

2008-06-08

软件工程——实践者的研究方法

国外软件工程圣经级教材

2008-03-06

中文版 Effective C++

外国经典c++学习教材

2008-03-06

《编程珠玑》

介绍计算机理论数学方面知识,国外很经典的教材

2008-03-06

空空如也

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

TA关注的人

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