c 语言宏的妙用(用法技巧)

Preprocessor Operators Four preprocessor-specific operators are used in the context of the #define directive (see the following list for a s...

2013-07-31 12:27:43

阅读数 1138

评论数 0

c 语言可变参数

1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表 void foo(...); void foo(parm_list,...);   2:函数参数的传递原理 函数参数是以数据结构:栈的形式存取,从右至左入栈.eg: #include void fun(i...

2013-07-30 15:37:39

阅读数 599

评论数 0

结合MongoDB开发LBS应用

简介 随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理。我所在的项目也正从事相关系统的开发,我们使用的是Symfony2+Doctrine2 ODM+MongoDB的组合。 我们将这些技术要点整理成文,希...

2013-07-28 13:31:56

阅读数 7436

评论数 0

Mutex和内存可见性

介绍 POSIX线程遵守共享内存模型[1],此模型各线程可以访问一组共享对象。多个并发的线程需要协同访问共享对象。为此该模型引入了以下两个属性来简化程序设计: 原子访问:避免线程在访问数据对象时,另一线程正在修改它。 内存可见性:一旦线程修改数据对象,其它线程在修改行为发生之后马上能看见此...

2013-07-26 20:13:23

阅读数 713

评论数 0

vim入门,进阶与折腾

入门 个人习惯编译选项 ./configure –with-features=huge –enable-cscope –enable-fontset –enable-multibyte –enable-perlinterp –enable-rubyinterp –enable-pythoninte...

2013-07-22 21:24:00

阅读数 703

评论数 0

线程安全与可重入函数

线程安全:        线程安全函数:在C语言中局部变量是在栈中分配的,任何未使用静态数据或其他共享资源的函数都是线程安全的。                      使用全局变量的函数是非线程安全的。                      使用静态数据或其他共享资源的函数,必须通过...

2013-07-22 11:25:55

阅读数 633

评论数 0

具有高扩展性的存储引擎:TokuDB

TokuDB是什么?TokuDB是一个应用在MySQL和MariaDB中的存储引擎,它使用索引来加快查询速度,具有高扩展性并支持Hot Schema Modification。如果你的记录数量过亿、存储旧的记录或想要缩小数据占用的存储空间,很适合使用TokuDB。本文内容摘自淘宝核心系统团队博客分...

2013-07-20 15:40:08

阅读数 1472

评论数 0

ZooKeeper客户端事件串行化处理

为了提升系统的性能,进一步提高系统的吞吐能力,最近公司很多系统都在进行异步化改造。在异步化改造的过程中,肯定会比以前碰到更多的多线程问题,上周就碰到ZooKeeper客户端异步化过程中的一个死锁问题,这里说明下。 通常ZooKeeper对于同一个API,提供了同步和异步两种调用方式。 同步接口...

2013-07-20 01:46:20

阅读数 4829

评论数 0

HBase的long GC与 Zookeeper lease expired的权衡

问题和现象: 这是一个连锁反应: 1)RegionServer在遇到"Stop-The-World" GC时,会停止一切工作,这样与Zookeeper保持的心跳,就会停止。 2)Zookeeper在没有收到注册节点的心跳时,就会删除对应rs对应节点。 3)HMast...

2013-07-20 01:43:14

阅读数 737

评论数 0

ZooKeeper FAQ

这段时间来,也在和公司里的一些同学交流使用zk的心得,整理了一些常见的zookeeper问题。这个页面的目标是解答一些zk常见的使用问题,同时也让大家明确zk不能干什么。页面会一直更新。 客户端 1. 客户端对ServerList的轮询机制是什么 随机,客户端在初始化( new ZooKee...

2013-07-20 01:35:00

阅读数 517

评论数 0

分布式服务框架 Zookeeper -- 管理分布式环境中的数据

安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和...

2013-07-20 01:23:33

阅读数 745

评论数 0

epoll的两种触发模式

linux异步IO浅析  http://hi.baidu.com/_kouu/blog/item/e225f67b337841f42f73b341.html  epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意...

2013-07-18 23:55:11

阅读数 17184

评论数 1

浅析http协议、cookies和session机制、浏览器缓存

最近几天在复习http协议中headers,cookies、session、缓存等相关知识,发现些新知识点。 这篇文章注重结合PHP去理解这些内容,也就是比较注重实践部分。 一、            http headers           NO1:对于web应用,用户群在客户端...

2013-07-13 14:40:38

阅读数 697

评论数 0

exit、return、_exit、_Exit这几个函数的区别

1、exit函数和return函数的主要区别是: 1)exit用于在程序运行的过程中随时结束程序,其参数是返回给OS的。也可以这么讲:exit函数是退出应用程序,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息。 main函数结束时也会隐式地调用exit函数,exit函数...

2013-07-13 11:17:02

阅读数 769

评论数 0

zookeeper 工作原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某...

2013-07-12 14:36:00

阅读数 578

评论数 0

Effective C++和More Effective C++

More Effective C++读书笔记 条款1:指针与引用的区别 二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变 在以下情况下使用指针:一是存在不指向任何对象的...

2013-07-10 19:36:45

阅读数 492

评论数 0

InnoDB Memcached Plugin源码实现调研

MySQL 5.6版本,新增了一个NoSQL的接口,通过将memcached嵌入到MySQL系统之中,用户可以直接使用memcached接口直接操作MySQL中的InnoDB表,绕过MySQL Server层面的SQL解析,优化,甚至绕过InnoDB Handler层,直接操作InnoDB内部的方...

2013-07-10 19:29:52

阅读数 795

评论数 0

由浅入深探究mysql索引结构原理、性能分析与优化

(好文章:转自:http://www.phpben.com/?post=74) 第一部分:基础知识: 索引 官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要的资料。关键字index ---------...

2013-07-10 19:27:14

阅读数 500

评论数 0

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