简介事物与隔离级别

事务的特性: 原子性(Atomicity) 事务中的所有操作要么全部执行,要么都不执行。 一致性(Consistency) 事务执行前后数据库都处于一致的状态。 隔离性(Isolation) 多个事务执行都感觉不到其它事务在执行。 持久性(Durabi...

2013-01-31 13:11:33

阅读数 965

评论数 0

PostgresQL中的NUlls first/last功能

Nulls first/last功能简介 Nulls first/last功能主要用于order by排序子句中,影响空值Null在排序结果中的位置。简单来说,Nulls first表示Null值在排序时一直排在所有值的前面,也就是处理order by a desc时PostgresQL执行器认...

2013-01-19 17:10:38

阅读数 2118

评论数 0

算法——递归生成集合的所有组合

题目描述 输入一个集合,需要生成该集合所能得出的所有组合。举例说明:若输入集合为{1,2} , 需要生成的组合有{1},{1, 2},{2} 。该题目与生成集合的全排列有很多相似之处,同样也是一个很经典的问题。 解决思路 在我前面的一篇文章:Gray Code实现按序...

2013-01-06 11:36:32

阅读数 3205

评论数 1

基于B族树的关系型数据库IO瓶颈分析

前言 传统关系型数据库,也就是建立在关系模型基础之上的数据库。关系型数据库本身基于关系代数的数学理论,关系模型是70年代埃德加·科德首次提出的,而该模型成为了关系型数据库的基础。目前市面上众多的传统关系型数据库均是基于B族树实现的,至于传统关系型数据库的众多特性这里就不进行论述了,在这里...

2013-01-01 11:26:57

阅读数 2312

评论数 0

使用 SCTP 优化网络

简介:  流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界(例如 UDP)。然而,与 TCP 和 UDP 不同,SCTP 是通过多...

2012-12-27 12:58:46

阅读数 803

评论数 0

调试器工作原理系列三篇

基础篇 关于本文 我打算在这篇文章中介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧密相关的,但移植到别的平台上应该不会太难。 动机 要想理解我们究竟要做什么,试...

2012-12-20 15:57:43

阅读数 1247

评论数 0

shell脚本实现某一进程是否运行结束的监控

问题描述 前几天,一位朋友需要实时监控Linux系统下的某一进程,当该程序运行时则继续监控,当该程序结束时需要向终端输出一句话,并做后续操作。 问题分析 要监控某一进程,最新先到的就是ps 命令列出所有进程,然后grep自己想要的进程,这样经过处理就可以得到该...

2012-12-14 09:15:09

阅读数 6706

评论数 0

二分查找位运算——32位整数中寻找第一个为1的位

问题描述 在程序设计中经常会遇到这样一个问题,即在一个32位整数中,从右到左寻找第一个为1的位。这样的问题是很常见的,而面对这样一个问题,一种常见的解法就是逐位的遍历这个整数中的所有位,直到遇到了为1的位。若第一个为1的位出现在高位区域,逐位查找比较的方法会比较非时间。 ...

2012-12-13 09:47:50

阅读数 3627

评论数 8

递归生成集合的全排列

题目描述 递归,生成集合的全排列,也是在笔试面试中经常考的问题。全排列问题一般要求递归或非递归的解决,非递归按序输出集合的全排列在我的另一篇博客中有介绍(http://blog.csdn.net/syzcch/article/details/8136218),这里主要介绍递归生成集合全排列的...

2012-12-10 09:34:10

阅读数 1534

评论数 0

小议C++中const的实现机制

问题 C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢? 本文将对这两个问题进行一些分析,简单解释const的含义以及实现机制。 问题分析 简单的说const在C语言中表示只读的变量,而在C++语言中表示常量。关于const在C与C++...

2012-12-02 10:10:01

阅读数 5456

评论数 2

用GDB调试程序总结

本文转自陈皓的博客 感谢陈皓分享 http://blog.csdn.net/haoel/article/details/2879 用GDB调试程序 GDB概述 ———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方...

2012-11-21 11:19:06

阅读数 1172

评论数 0

算法——求数组中最大子数组和

题目 有一输入数组,数组里面的数字都是整数,可能为正,可能为负,也可能是0,要求该输入数组中最大子数组的和。 题目分析 面对这样的一个问题,首先需要仔细分析问题的条件与问题所求。这个问题提供了一个输入数组,里面会有若干个元素,每个元素可以为正数,可以为负数,也可以为0。而题目...

2012-11-20 11:02:05

阅读数 1531

评论数 4

算法——字节高低位交换

问题 对一个字节数据,逐个交换其高低位,例如11010001,经过0-7,1-6,2-5,3-4对应位的交换,变成10001011 。 解决思路 对于该问题,我们最先想到的是对原字节通过移位操作来逐位处理,使用另一个变量来存储交换后的结果。这种解决方案处理起来思路清晰,编写代码应该不...

2012-11-15 08:50:08

阅读数 17923

评论数 17

动态规划解决跳台阶问题

问题描述 某互联网公司的一道面试题,题目是一个人上台阶,台阶有n级,他可以一次上1级,可以一次上2级,也可以一次上3级,问上这个n级的台阶一共有多少种上法。 问题分析 首先我们先归纳分析一下一些比较简单的情况: 如果台阶只有1级,那么他一次就可以上去,很显然,上法只有1种; 如果...

2012-11-13 12:52:16

阅读数 2511

评论数 0

C语言中有没有bool类型?

问题 首先请大家回想一下,在你们所编写的C程序中,是否使用过bool(布尔)类型?bool类型一般用来表示真假,是程序设计中一个很基本的数据类型。但是,C语言里面并不直接支持bool类型。一些初学C语言,或者是对C语言不是很精通的朋友肯定觉得很奇怪,为什么在C++,JAVA等语言里使用的bool...

2012-11-07 16:10:02

阅读数 12346

评论数 0

C编程小技巧——结构体强制类型转换

问题 前些天看一款数据库语法解析器的代码,其中的词法分析语法解析阶段,利用一个结构体存储所解析的SQL语句的类型,然后根据这个类型将改结构体强制转换为对应的另一结构体并赋值给他,以便做进一步的执行工作。 举个简单的例子: 存储语法解析后数据的结构体(注意,其只有一个元素)为: st...

2012-11-06 10:38:56

阅读数 4655

评论数 3

非递归,按序输出集合的全排列

题目描述 非递归,按序输出集合全排列,是在笔试面试中经常考的问题。递归输出集合的全排列相对来说还是比较简单的,而非递归实现这个问题需要一些小技巧。 全排列是将集合中的元素(可以为数字,可以为字符),按照字典序生成所有排列的集合,并输出这些排列。以数字集合距离,集合{1,2,3}的按序全排列...

2012-11-02 12:26:27

阅读数 2654

评论数 5

c编程技巧——获取可用的处理器(CPU)核数

需求 我们在编程时,尤其是在涉及到系统环境的程序开发中,可能会需要动态的获得当前机器中可用的CPU核数。例如,当我们需要做并行计算时,我们可能会根据CPU核数来决定并行度,因此我们需要在C程序中获得当前机器中可用的CPU核数。 方法 为了跨平台的需要,我们需要同时考虑在不同平台下获取...

2012-10-29 16:24:22

阅读数 14276

评论数 2

TCMalloc : Thread-Caching Malloc

http://goog-perftools.sourceforge.net/doc/tcmalloc.html 作者: Sanjay Ghemawat, Paul Menage 动机 TCMalloc要比glibc 2.3中的malloc(所在库为ptmalloc2),以及...

2012-10-25 15:51:10

阅读数 1920

评论数 0

利用CAS操作(Compare & Set)实现无锁队列

关于CAS等原子操作 在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以用...

2012-10-19 16:35:59

阅读数 8487

评论数 0

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