自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明月江の鱼

分布式对象存储、后端服务器开发

  • 博客(107)
  • 资源 (8)
  • 收藏
  • 关注

原创 硬盘故障类型

磁盘常见故障类型Sense keySense code通用缩写说明Medium Error[0x03]Unrecove read error [0x11]UNC逻辑坏道可能由于异常掉电等,发生数据ECC校验错误;物理坏道即物理介质损坏,硬盘固件进行坏块替换Medium

2015-12-23 23:18:23 6689

原创 SQL的unique约束

UNIQUE 约束唯一标识数据库表中的一条记录。与PRIMARY KEY 约束一样,UNIQUE为列或列集合提供了唯一性的保证。每个表可以有多个UNIQUE约束,即可以约束多个列记录唯一,但只能有一个PRIMARY KEY。PRIMARY KEY 自动拥有 UNIQUE 约束。CREATE TABLE Persons(Id int NOT NULL,LastN

2015-12-23 22:58:50 4259

原创 关于pthread的cancel point

前言今天遇到一个线程死锁,通常gdb把mutex lock的owner打出来,就可以查到锁的持有者,但今天打印owner,发现是一个不存在的线程,说明线程已经结束生命周期。排查使用该lock相关的线程,发现有个线程会被主线程给cancel掉,因此怀疑在cancel子线程时,子线程持有锁并未释放。当时怀疑难道pthread_mutex_lock是cancel点?正文1 查询man

2015-12-16 22:35:22 1135

翻译 为什么memcpy_s比memcpy安全

void* memcpy( void *dest, const void *src, size_t count );(until C99)void* memcpy( void *restrict dest, const void *restrict src, size_t count );(since C99)errno_t memcpy

2015-12-09 22:53:50 18028

原创 进程互斥同步准则

为实现进程互斥,可以利用软件的方法,也可以在系统中设置专门的同步机制来协调多个进程,但是所有的同步机制应该遵循四大准则: 1.空闲让进 当临界资源处于空闲状态,允许一个请求进入临界区的进程立即进入临界区,从 而有效的利用资源。 2.忙则等待 已经有进程进入临界区时,意味着相应的临界资源正在被访问,所以其他准备进 入临界区的进程必须等待,来保证多进程互斥。 3.有限等待 对要求访问临界资源

2015-12-07 22:49:46 1955

原创 线程与进程的区别

线程共享的环境包括:  1.进程代码段   2.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)   3.进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 线程拥有其父进程一些资源的同时,还拥有自己的私有资源或熟悉。有了这些私有熟悉,线程才能实现独立调度执行。这些私有属性包括:    1.线程ID

2015-12-06 22:22:17 646

原创 leetcode 227: Basic Calculator II

Implement a basic calculator to evaluate a simple expression string.The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should

2015-10-24 11:49:23 1388

原创 MySQL数据类型

MySQL数据类型本文概要介绍MySQL的数据类型:MySQL数据类型分为三大类:数字类型:整数:tinyint, smallint, mediumint, int, bigint浮点数:float, double, real定点数:decimal 字符串类型:字符串:char, varchar文本:tinytet, text, mediumtext, longtext二进制:tinyblob,

2015-10-21 22:29:35 408

原创 Power of Two

Power of Two Given an integer, write a function to determine if it is a power of two.class Solution {public: bool isPowerOfTwo(int n) { if (n <= 0) { return false;

2015-07-29 22:19:55 381

原创 Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of convertin

2015-05-02 21:16:34 396

原创 String to Integer (atoi)

Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input ca

2015-05-02 20:24:10 404

原创 Reverse Integer

Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to show spoilers.Have you thought about this?Here are some good questions to ask before

2015-04-11 21:51:47 491

原创 Add Two Numbers

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link

2015-04-11 20:48:35 476

原创 Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11' has binary representation 000000

2015-04-09 22:22:19 441

原创 Two Sum

Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe

2015-04-07 23:24:14 511

原创 Excel Sheet Column Number

Given a column title as appear in an Excel sheet, return its corresponding column number.For example: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 class Solution {

2015-04-05 09:50:12 420

原创 Excel Sheet Column Title

Excel Sheet Column Title 递归实现,当n % 26 == 0时需要特殊处理,讲对应位置Z。class Solution {public: string convertToTitle(int n) { string s; if (n <= 0) { return s;

2015-04-04 18:47:24 486

原创 umount 时 device is busy 的处理方法

umount 一个文件分区,有时会报: device is busy 。因为还有进程占用或在使用该设备。#fuser -km /mnt/sda7此命令可kill掉占用设备/mnt/sda7 的进程.

2012-08-08 19:25:00 660

转载 x86系统C语言函数调用时的内存分布

每个C语言函数在运行过程中,在栈顶对应一个栈帧。想想堆栈是一个地址由上往下增长的线性内存(为什么要由上往下增长?后面说明),栈帧的顶端地址位于esp寄存器,栈帧底部地址由ebp寄存器保存(当然,这个说法不准确,ebp再往下还有这个函数的参数,后面详细说明)。结构如下所示(每行4字节): 00  临时变量2                               04

2012-08-07 21:46:02 1108

转载 C函数调用时的内存布局

1、I386平台C函数内部的栈分配函数使用栈来保存局部变量,传递函数参数。进入函数时,函数在栈上为函数中的变量统一预留栈空间,将esp减去相应字节数。当函数执行流程途径变量声明语句时,如有需要就调用相应构造函数将变量初始化。当执行流程即将离开声明所在代码块时,以初始化的顺序的相反顺序逐一调用析构函数。当执行流程离开函数体时,将esp加上相应字节数,归还栈空间。为了访问函数变量,必须

2012-08-07 21:41:17 2571 1

转载 常量指针与指向常量的指针

1 常量指针!如 int b, c; int * const a = &b; 表示a是一个常量指针它指向变量b的内存。但是因为是常量指针所以不能再用a指向其他变量,如 a = &c; 错误!可以修改指向内存的值,如:*a = 20; BTW 常量指针声明的时候必须向我那样赋初值。2 指向常量的指针!如 int b, c; int const *a; a = &b; a = &c;

2012-08-06 10:18:46 1267

转载 double比较大小

转自http://www.cnblogs.com/taoxu0903/archive/2011/03/11/1981389.html参考:Comparing floating point numbers  总结几点:0. float占4byte,精度是6~7位;double占8byte,精度是15~16位。 1. 因为double类型或f

2012-03-24 19:36:52 32563

转载 字符数组,字符指针,Sizeof总结

1.以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写  "abc",那么编译器帮你存储的是"abc\0"2."abc"是常量吗?答案是有时是,有时不是。  不是常量的情况:"abc"作为字符数组初始值的时候就不是,如                  char str[] = "abc";    因为定义的是一个字符数组,所以就相当于定义了

2012-03-14 12:13:10 664

转载 使用二级指针传出参数

使用指针传出参数时,要注意指针所指向的内存是在函数内分配的还是在函数外分配的,以及是不是在堆上分配的。定义一个指针,但是并没有分配指针指向对象所需的内存空间;当函数返回后,此函数栈中的内存会被释放掉,不要让指针指向此函数栈中的内存空间;要指向堆上或此函数外的内存空间。1. 参数传递的原则是:形参传给实参,不能反向传递;2. 一级指针可以在函数内部修改实参指针指向的内容;

2012-03-07 13:06:03 2502

原创 linux mysql 基本操作命令

1、使用SHOW语句找出在服务器上当前存在什么数据库:  mysql> SHOW DATABASES;  +----------+  | Database |  +----------+  | mysql |  | test |  +----------+  3 rows in set (0.00 sec)    2、创建一个数据库abccs  mysq

2011-12-26 14:48:29 675

转载 scp 无密码登陆

有些时候,我们在复制/移动文件到另一台机器时会用到scp,因为它比较安全。但如果每次都要输入密码,就比较烦了,尤其是在script里。不过,ssh有另一种用密钥对来验证的方式。下面写出我生成密匙对的过程,供大家参考。第一步:生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa"[Copy to clipboard] [ - ]CO

2011-12-13 14:05:35 10622 1

转载 Vim正则表达式

元字符 说明. 匹配任意一个字符[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,     如[a-z0-9]匹配小写字母和阿拉伯数字。[^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。\d 匹配阿拉伯数字,等同于[0-9]。\D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]。

2011-11-27 21:14:25 704

转载 gdb用法(二) 在Linux下产生并调试core文件

分析核心(core)文件在程序发生崩溃时,有时可能无法直接运行GDB来进行调试。比如程序可能是在另外一台机器上运行的,或者因为程序对时间比较敏感,所以手动跟踪调试会产生 无法接受的延迟等。遇到这些情况,就只能等到程序运行结束后才能判断崩溃的原因了。这时需要用到Linux提供的core dump机制。当程序中出现内存操作错误时,会发生崩溃并产生核心文件。使用GDB可以对产生的核心文件进行

2011-11-27 19:51:32 748

转载 gdb用法(一)基本gdb命令

GDB 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程式调试工具。或许,各位比较喜欢那种图像界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图像化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程式,能按照你的自定义的需求随心所欲

2011-11-27 19:50:22 1607

转载 对象生死劫 - 构造函数和析构函数的异常

转自http://www.cnblogs.com/leadzen/archive/2008/02/12/1067474.html      在设计类时,构造函数和析构函数往往需要十分的小心。平时不太注意构造函数和析构函数抛出异常,但这却会造成内存泄漏等问题。转载李老师的博客,讲的很清楚:  构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程。当一个对象诞生时,构造函数负

2011-11-21 13:09:09 710

转载 DHT(Distributed Hash Table): 分布式哈希表

DHT的全称是Distributed Hash Table,即分布式哈希表技术,是一种分布式存储方法。这种网络不需要中心节点服务器,而是每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。和中心节点服务器不同,DHT网络中的各节点并不需要维

2011-10-11 18:40:02 10025

原创 strncpy

1. strncpy功能说明:    The strncpy function copies the initial count characters of strSource to strDest and returns strDest. If count is less than or equal to the length of strSource, a null charact

2011-10-11 18:17:17 778

转载 用man查看命令帮助时, 括号中的数字表示的意思

当提及如'rn(1)', 'ctime(3)'时,它们看上去像某种函数调用,但不是。 这些数字表示可在"Unix manual"中的哪一部分找到对应的文档。 数字对应的文档如下:1----用户在shell环境可以使用的指令或可执行文件 2----系统核心提供的

2011-09-25 14:21:10 1161

转载 C预处理器中 ##(两个井号)和#(一个井号)都是什么意思

## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释#符是把传递过来的参数当成字符

2011-09-23 16:33:26 1131

转载 进程和线程的亲缘性(affinity)

进程和线程的亲缘性(affinity)是指可以将进程或者是线程强制限制在可用的CPU子集上运行的特性,它一定程度上把进程/线程在多处理器系统上的调度策略暴露给系统程序员,有助于程序员实现自己的调度策略以提供特定情况下的更好性能,NUMA(非统一内存访问)就是这样一种计算机结构。

2011-09-15 15:44:12 4259

原创 华为面试题2

设有以下说明和定义:typedef union {long i; int k[5]; char c;}DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句 printf("%d",s

2011-09-13 17:36:10 756

转载 华为面试题

int arr[]={6,7,8,9,10};int *ptr=arr;*(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr)); 打印输出:8,81.printf参数入栈顺序:自右向左;2.*(ptr++):先去pt

2011-09-13 16:21:56 518

转载 有了malloc/free为什么还要new/delete?

malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。  因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内

2011-05-24 18:06:00 571

原创 堆排序实现

堆排序的基本思想:将array[n]的数组看成一棵完全二叉树。父节点均大于其左右子节点的,为大根堆;父节点均小于其左右子节点的,为小根堆。1) 初建堆--从length/2节点开始,自底向上调整,使array[n]成为一个大顶堆;2) 交换堆顶元素(最大值)和最后一个元素,将移走最大元素后的剩余元素,从堆顶开始再调整为堆;3) 重复步骤2)n-1次,则实现array[n]升序排列。堆调整过程:1) 从待调整元素i开始开始调整,自顶向下地作如下调整:2) 将待调整元素与其左右孩子节点比较,三者中最大者作为新的

2011-05-22 18:11:00 551

转载 extern C实现C与C++函数的相互调用

http://www.cnblogs.com/graphics/archive/2010/12/24/1916343.html经常看到如下代码:#ifdef _cplusplusextern "C" {#endif#include "XXX.h"#ifdef _cplusplus}#endif解释:这段代码的含义是,如果当前的程序是C++程序,那么下面引用的头文件是C文件, 那如果当前程序不是C++呢?难道包含的就不是C文件了么?当然不是,不管当前程序是什么,这个XXX.h都是一个C

2011-05-16 22:47:00 918

filetool.dll

修复vc6.0与office冲突导致vc6.0添加文件自动关闭的bug

2012-04-11

U-BOOT移植S3C2440完全手册

介绍U-boot的原理,并讲解如何将U-boot移植到mini2440。

2010-10-17

RFC3164中文文档.txt

syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。

2010-07-27

RFC3164.txt

syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。

2010-07-27

geany-0.5-1.i386.rpm

fedora、Redhat下一款轻便的C/C++编辑器

2010-03-14

mplayer-svn_r27865.tar.bz2

fedora10下用此版本甚为完美。在国内站点很少有此资源,故分享给大家。安装过程:tar xvf mplayer-svn_r27865.tar.bz2; cd mplayer-svn_r27865; ./configure; make; make install

2009-10-18

fcitx-3.6.tar.bz2

linux下的输入法。 注:在GNOME环境下,需将配置写入/etc/profile中。

2009-10-14

drcom-1.4.8.1.tar.gz

drcom-1.4.8.1.tar.gz是城市热点公司的linux平台的Dr.com,可参考解压后的说明文档进行安装。 经fedora 10和Ubuntu 8测试可顺利安装。

2009-09-19

空空如也

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

TA关注的人

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