自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (15)
  • 收藏
  • 关注

原创 使用markdown进行代码阅读笔记

1. markdown编辑软件markdownpad:http://download.csdn.net/detail/buptapple/9331211使用GitHub进行渲染来支持代码高亮:选项---markdown---markdown处理器---GitHub风格的Markdown不要选择离线模式的markdown,因为离线模式只支持代码片段渲染,不支持代码语法高亮。2.

2015-12-06 17:47:12 1100

原创 gperftools的pprof安装

gperftools提供了对内存和cpu的trace功能,trace结果可以通过pprof做可视化展示。这里记录一下pprof工具的相关安装:1. 基本展示,比如text:    只需要安装google-perftools就随带安装了pprof,text是默认支持的格式。    sudo yum install google-perftools.x86_642. 图形换展示,比如p

2015-11-15 10:24:37 7261

原创 linux文件系统文件路径,inode,block号,sector号的相互转换

测试文件:/usr/lib64/libstdc++.so.6.0.80. 装载debugfs    mount -t debugfs none /sys/kernel/debug1. 正向查找    a. 根据文件查找inode    $ls -i /usr/lib64/libstdc++.so.6    2050380 /usr/lib64/libstdc++.so.6

2015-11-10 12:47:42 5091

原创 获取当前时间并转为string

#include #include #include #include using namespace std;string getTimeInString(){ struct timeval tv; gettimeofday(&tv, NULL); struct tm *ptm = gmtime(&tv.tv_sec); string strTim

2015-10-20 13:56:00 1908

原创 调试libstdc++内部的函数

当libstdc++内部报错的时候一般不会深入调试,更多的是从自身代码来找问题。一方面是标准库出错的可能性较小,另一方面libstdc++的调试也不是很方便,默认的libstdc++不带符号表,stack一般定为不到具体的文件行号,比如:(gdb) bt#0  0x0000003ebda30265 in raise () from /lib64/libc.so.6#1  0x00000

2015-10-17 18:37:52 6138 1

原创 解决valgrind线程数不够的错误:no free slots available Increase VG_N_THREADS, rebuild and try again.

原生valgrind无法检查线程数较多的进程,解决的办法是自行修改源码并编译。1. 下载最新的valgrind源码包http://valgrind.org/downloads/current.html2. 修改VG_N_THREADS的值测试用的是3.10.1版本,默认是500,现在改为5000include/pub_tool_threadstate.h:#define VG_

2015-09-22 13:32:23 2502

转载 获取POSIX线程真实PID/TID

获取POSIX线程真实PID/TID  Linux中,每个进程有一个pid,类型pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型 pthread_t,由pthread_self()取得,该id由线程维护,其id空间是各个进程独立的(即不同进程中的线程可能有相同的id)。你可 能知道,Linux中的POSIX线程库实现的线程其实也是一个进程(LWP),只是该

2014-10-19 22:58:14 2260

转载 linux用户态和内核态理解

1、特权级      Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级。也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CP

2014-03-18 13:32:31 19344 1

转载 让你的模拟器不再卡:VirtualBox安裝 Android-x86 4.0(可上网)

为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。这样一来 Android 模拟器需要做一些额外的二进制翻译工作。 2. Android 模拟器用的是 QE

2014-03-06 11:50:09 18695

转载 多线程程序中操作的原子性

多线程程序中操作的原子性0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下

2014-02-12 22:37:44 531

转载 Name Mangling in C++

摘要:详细介绍了C++中的Name Mangling的原理和gcc中对应的实现,通过程序代码和nm c++filt等工具来验证这些原理。对于详细了解程序的链接过程有一定的帮助。Name Mangling概述大型程序是通过多个模块构建而成,模块之间的关系由makefile来描述。对于由C++语言编制的大型程序而言,也是符合这个规则。程序的构建过程一般为:各个源文件分别编译,形成目标文件。

2014-02-10 16:52:03 550

转载 shell 积累

1. shell 函数:http://www.cnblogs.com/chengmo/archive/2010/10/17/1853356.html

2013-12-24 18:04:39 483

转载 组合c(m,n)的计算方法

组合c(m,n)的计算方法问题:求解组合数C(n,m),即从n个相同物品中取出m个的方案数,由于结果可能非常大,对结果模10007即可。方案1:暴力求解,C(n,m)=n*(n-1)*...*(n-m+1)/m!,n [cpp]int Combination(int n, int m) {     const int M = 1000

2013-12-10 19:43:33 7072

转载 linux 错误机制

Linux错误机制1,在用户进行文件操作的时候,会出各种各样的错误,比如权限不足,空间不足,找不到文件等,此时需在程序中设置错误捕捉语句,并显示错误.    在linux中错误定义成了错误号和错误常数,如果发生错误,便宜会返回        在终端上可以用以下命令来查看错误的定义:    cat /usr/include/asm/errno.h    如下:#ifnde

2013-12-10 12:23:13 772

转载 使用pssh进行并行批量操作

使用pssh进行并行批量操作假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行.,这类工具比如pdsh,mussh,cssh,dsh等还有这里提到的pssh: 1  安装:#wget http://peak.telecomm

2013-11-29 18:08:42 5508

转载 teraSort相关

http://dongxicheng.org/mapreduce/hadoop-terasort-analyse/http://blog.csdn.net/yongjian_luo/article/details/9955249http://www.cnblogs.com/cherish_yimi/archive/2009/10/12/1581666.htmlhttp://so

2013-10-19 23:16:44 536

转载 C内存对齐详解 struct对齐

转:http://www.189works.com/article-10322-1.html  一、什么是对齐,以及为什么要对齐:  1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。

2013-10-12 19:47:39 982

原创 linux中配置文件积累(screen)

screen:vbell offaltscreen onhardstatus alwayslastlinehardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'

2013-10-10 12:55:01 573

转载 RAID介绍

RAID0-6: 深入分析:http://blog.csdn.net/menogen/article/details/11848973;RAID知识点全面总结:http://blog.csdn.net/kkfloat/article/details/9673135

2013-10-04 22:54:40 490

转载 python 知识点积累

传值与传引用:http://hi.baidu.com/isaacli/item/60608cdc46d8de12d78ed040

2013-10-02 11:12:26 624

转载 IT面试题积累

蓄水池抽样算法:http://hi.baidu.com/cpuramdisk/item/260611ca0082bcd796445239

2013-09-26 12:46:03 431

转载 磁盘性能检测:fio

一. 官网http://freshmeat.net/projects/fio/二. 安装wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gzyum install libaio-develtar -zxvf fio-2.0.7.tar.gzcd fio-2.0.7makemake install三. 运行a

2013-09-24 00:15:35 5571

转载 数据库索引--B树

数据库索引

2013-09-18 10:12:11 557

转载 linux 写文件

写文件

2013-09-09 17:16:01 522

转载 Linux进程状态解析之R、S、D、T、Z、X

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可

2013-08-09 00:31:45 640

转载 linux系统性能测试工具(磁盘)

一、磁盘性能测试工具1. LINUX下测试磁盘性能: http://www.centos.ws/centos/linux/866.html

2013-08-09 00:14:11 829

转载 linux系统监控工具(网络,磁盘,内存)

一、网络监控工具1. Linux 各种查看网卡流量的方法:http://jasonyong.blog.51cto.com/47753/174197

2013-08-06 22:20:55 3048

转载 Linux I/O调度策略

Linux I/O调度策略I/O scheduler的作用就是为请求队列里面的IO请求做一个优化,以此达到提高系统吞吐量、缩短响应时间的目的。更改I/O scheduler有两种方式:1./sys/block/device_name/queue/scheduler (IOscheduler); /sys/block/device_name/queue/nr_requ

2013-07-23 18:37:59 745

转载 python 输出彩色文字

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无 关。转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表 示就是 27, = 用八进制表示的 33)。\033[显示方式;前景色;背景色m显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、

2013-06-13 00:04:22 5987

转载 linux下 date命令实现 日期与时间戳互相转换

1.查看指定时间的时间戳  查看当前时间 #date +%s  查看指定时间 #date -d 2008-01-01 +%s   1199116800 #date -d 20080101 +%s 1199116800 2.将时间戳转换成date #date -d '1970-01-01 UTC 1199116800 seconds' 2008年

2013-06-11 11:02:11 1519

转载 shell脚本中echo显示内容带颜色

shell脚本中echo显示内容带颜色      shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e   格式如下:   echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"   例如:   echo -e "\033[41;36m something here \033[0m"   其中41的位置代表底色, 3

2013-05-23 16:18:36 879

转载 如何查看Linux系统中的 LABEL/UUID

如何查看Linux系统中的 LABEL/UUID使用 blkid 命令:用法(LABEL):# blkid -s LABEL/dev/hda3: LABEL="/"/dev/hda1: LABEL="/boot1"/dev/hda2: LABEL="SWAP-hda2"/dev/hdc1: LABEL="/boot9"/dev

2013-05-10 10:42:12 3093

转载 /etc/fstab

/etc/fstab1 什么是fstab2 fstab文件示例3 fstab 文件组成4 文件系统标识4.1 Kernel naming4.2 UUID4.3 Label5 建议5.1 atime 参数5.2 tmpfs5.2.1 修正因 /var 分区造成关机异常问题5.3 解决包含有空格的路径名无法使用的问题5.4 外部设备6

2013-05-10 10:41:03 629

转载 数据库与数据仓库的区别与联系(通俗版本)

数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数

2013-04-28 13:15:54 3079

转载 delete与delete [] 真正区别

delete与delete [] 真正区别  我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码:int *a = new int[10];delete a;        //方式1delete [] a;     //方式2肯

2013-04-27 20:28:25 396

转载 mount命令详解

linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不

2013-04-11 10:04:44 460

转载 linux下恢复删除文件

Linux文件系统的反删除方法选择自 zcatlinux 的 Blog  Linux文件系统的反删除方法 Ext3文件系统结构的简单介绍 在Linux所用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块

2013-04-09 21:18:53 560

转载 linux Top 命令详解

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.TOP运行结果:top - 12:

2013-03-25 12:35:05 995

转载 vim 配置

.vimrc:                                                            " Modeline and Notes {"   vim: set foldmarker={,} foldlevel=0:"   "   Deployed by goto tool" }" Basics {    set noc

2013-02-25 16:25:29 453

转载 SCSI IDE

从性能上说,SCSI当然要比IDE好,毕竟SCSI控制器上有一个相当于CPU的芯片,能够处理大部分工作,减轻了中央处理器的负担(CPU占用率)。同一时间推出的硬盘中,SCSI系产品的转速、缓存容量和数据传输率均比IDE系高,要比速度,IDE怎样也比不过SCSI。在价格方面,SCSI是昂贵的代名词,面向商业级应用,IDE则以低价格著称,面向桌面式计算机。 易用性:使用

2013-02-17 10:35:51 427

markdownpad2(附带秘钥)

markdownpad2可以用来编辑渲染markdown格式的代码,附带解锁秘钥,解锁后可以支持pdf格式的渲染输出。 markdownpad2支持github格式的markdown渲染,对代码高亮有很好的支持。

2015-12-06

一致性哈希算法应用及优化(最简洁明了的教程)

一致性哈希算法应用及优化(最简洁明了的教程)

2014-03-17

ZX数学函数作图器1.2.0.227

ZX数学函数作图器是一个优秀的独立内核的数学函数作图软件。它有以下功能: 由您自由键入表达式,自动为您作出数学函数图像;可以选择是否锁定纵横比。 支持所有y=f[x,…]型及ρ=f[θ,…]型的(一元及多元)初等函数(包括N次函数、所有的(反)(双曲)三角函数、幂函数、指数函数、对数函数、绝对值、平方根、取整等,还可以自定义函数),所有的圆锥曲线(包括准线、渐近线)以及任意的多边形(线段)等。 支持以下(一元及多元)高等函数: Β(Beta)[x]、Γ(Gamma)[x]。 有参数方程和极坐标函数画图功能,您可以更快捷、更迅速、更准确地画出这些图像。 有自动求极限的功能,对于y=f[x]型的函

2013-04-19

Perf Event :Linux下的系统性能调优工具

Perf Event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。Perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集 。本文将介绍 Perf 在应用程序开发上的应用。

2013-04-07

SSD的写入放大 - Write amplification

写入放大(WA)是闪存和固态硬盘之间相关联的一个属性,因为闪存必须先删除才能改写(我们也叫“编程“),在执行这些操作的时候,移动(或重写)用户数据和元数据(metadata)不止一次。这些多次的操作,不但增加了写入数据量,减少了SSD的使用寿命,而且还吃光了闪存的带宽(间接地影响了随机写入性能)。

2013-04-02

SSD基础知识及固态存储器前景分析

由于采用FLASH存储介质,它内部没有机械结构,因此没有数据查找时间、延迟时间和寻道时间。众所周知,硬盘的机械特性严重限制了数据读取、写入的速度及性能。目前主流的SSD固态存储器在操作系统中表现为一块普通的HDD硬盘,用户可以完全把它作为一块硬盘来使用。

2013-04-02

尽管去做——无压工作的艺术.pdf

教你在有需要或期望之时,如何才能尽管去做达到高效和轻松的最佳境界。我已经探求了很长一段时间(也许你也曾尝试过),一直希望找到下列问题的答案,即做什么,什么时间去做,以及如何去做。

2013-03-31

测试驱动开发.pdf

测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。 Kent Beck先生最早在其极限编程(XP)方法论中,向大家推荐“测试驱动”这一最佳实践,还专门撰写了《测试驱动开发》一书,详细说明如何实现。经过几年的迅猛发展,测试驱动开发已经成长为一门独立的软件开发技术,其名气甚至盖过了极限编程。

2013-03-24

Effective.STL中文版(带书签)

你已经熟悉了STL。你知道怎么建立容器,迭代它们的内容,添加删除元素和应用常见算法,比如find和sort。但你并不 满足,你不能摆脱STL所提供的超过它们能带来的好处的感觉。应该简单的任务并非那样。应该直截了当的操作确有资 源泄漏或错误行为。应该高效的过程却需要比你希望给它们的更多的时间和内存。是的,你知道怎么使用STL,但你不 确定你在有效地使用它。

2013-03-20

设计模式精解-GoF 23种设计模式解析附C++实现源码

设计模式精解-GoF 23种设计模式解析附C++实现源码: 懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成立。道可道,非常道。道不远人,设计模式亦然如此。

2013-03-17

敏捷软件开发:原则、模式与实践(带书签)

《敏捷软件开发:原则模式与实践》由享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。1.讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目;2.使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;3.包含了极具价值的可多次使用的C++和JAVA源代码;4.重点讲述了如何使用UML和设计模式解决面向客户系统的问题。

2013-03-14

24种设计模式介绍与6大设计原则

作者:我希望这本书的阅读者具备最基本的代码编写能力,您是一个初级的coder,可以从中领会到怎么设计 一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及Java 的边角技术的使用;您是 一个顶级的系统分析师,可以从中获得共鸣,寻找到项目公共问题的解决办法,呀,是不是把牛吹大了?!

2013-03-13

Google的C++编码规范 中文

Google的C++编码规范 中文 本挃南的目的是通过详绅阐述如何迕行C++编码来觃避其复杂性,使得代码在有效使用C++诧言特性的同时迓易亍管理。

2013-03-05

简明Python教程

简明 Python 教程 《简明 Python 教程》为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 2005 沈洁 元

2012-12-28

空空如也

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

TA关注的人

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