自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员成长之路

平凡人,不平凡的事

  • 博客(78)
  • 资源 (5)
  • 收藏
  • 关注

转载 红黑树

红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和

2012-10-24 00:41:06 1164

转载 Linux core 文件介绍

Linux core 文件介绍1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -

2012-10-13 21:00:13 530

转载 C程序内存结构

一个32位的运行在保护模式下应用程序,无论是Linux 还是Windows 都给它分配一个4GB的平坦的内存空间一个运行着的c程序所占用的内存空间分为:代码区 初始化数据区 未初始化数据区 堆区 和 栈区   在地址上从高位到地位为(高位)栈区堆区未初始化数据区(即BBS)数据区代码区(低位)栈区存放函数的参数值、局部变量的值 ,由编译器

2012-10-13 09:25:18 668

转载 Linux 下的线程读写锁

Linux 下的线程读写锁有一种写优先读写锁,有如下特点:1)多个读者可以同时进行读2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)在Solaris 中直接提供了读写锁, 但是在Linux 中只提供了线程的读写锁, 这里记录了一些读写锁的资料.1.Solaris .vs. Lin

2012-10-12 11:23:15 538

转载 用 Hadoop 进行分布式并行编程

用 Hadoop 进行分布式并行编程Hadoop 简介摘要:Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。本文将介绍 MapReduce 计算模型,分布式并行计算等基本概念,以及 Hadoop 的安装部署和基本运行方法。  Hado

2012-10-09 21:16:46 1754

转载 Memcached 集群架构方面的问题

Memcached 集群架构方面的问题  这里收集了经常被问到的关于memcached的问题memcached是怎么工作的?memcached最大的优势是什么?memcached和MySQL的query cache相比,有什么优缺点?memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?memcached的cac

2012-10-09 21:13:03 582

转载 性能调优攻略

转载自:http://coolshell.cn/articles/7490.html关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,

2012-09-27 23:04:35 474

转载 一个fork的面试题

转载自:http://coolshell.cn/articles/7965.html前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?123456

2012-09-27 21:47:49 314

转载 《C++经验谈》(1)

在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:l  并发l  异步l  缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1    以生产者-消费者模型设计任务队列  生产者-消费者模型是人们非常熟悉的模型,比如在某个服务器程序中,当User数据被逻辑模块修

2012-09-24 21:50:58 436

转载 Linux 套接字编程中的 5 个隐患

Linux 套接字编程中的 5 个隐患在异构环境中开发可靠的网络应用程序转载自:http://www.ibm.com/developerworks/cn/linux/l-sockpit/在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语

2012-09-13 19:03:57 423

原创 哈希链表实现的LRU缓存算法

在做三角网格文件转换的时候需要对从文件中读取的顶点坐标进行缓存,于是索性做了一个哈希缓存以提高访问效率,同时以LRU原则在缓存满的情况下清楚缓存中的单元。在hash表中我用了最简单的取摸的方法,由于原顶点有一个索引而且这种索引连续,所以取摸的方法已经可以达到平均散列。在处理碰撞的时候我使用了链表,而所有在缓存中的单元都按放入缓存的时间串成一个链表,这样在清除单元的时候选择队尾的元素进行清除即可。

2012-09-04 09:57:17 1367

转载 一致性哈希算法(Consistent Hashing)

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 obje

2012-09-04 09:50:02 546

转载 vim命令详解

高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@

2012-07-21 22:56:07 451

转载 vim配置详解

打开控制台,转到vim目录。 $:cd /etc/vim/vim 目录有个vimrc文件,以root权限打开修改。为了以后还原,最好备份一份。sudo cp vimrc vimrc.bak然后打开vimrc,修改你需要的配置,下面配置文件有中文注释。sudo vim vimrc修改好保存"=======================

2012-07-17 12:31:24 1465

转载 谈谈游戏服务器架构设计

http://www.bairuitech.com/html/xingyezixun/20090528/121.html服务器结构探讨 -- 最简单的结构   所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。   好的结构不是一蹴而就的,而且

2012-05-16 23:58:00 922

转载 Windows平台网络游戏服务器端开发

当今网络游戏在中国大陆已经在大范围的蔓延,暂且不论这样的一种趋势会带来什么样的游戏产业趋势。这里只就网络游戏的制作和大家进行交流,同时将自己的制作经验写处理,希望为中国的游戏业的发展做出一点点的贡献。。网络游戏的程序开发从某种意义上来看,最重要的应该在于游戏服务器端的设计和制作。对于服务器端的制作。将分为以下几个模块进行:1.网络通信模块2.协议模块3.线程池模块

2012-05-16 17:18:30 1874 1

原创 在Mysql数据库中查看和修改字符集

MYSQL 字符集问题MySQL的字符集支持(Character Set Support)有两个方面:      字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次:      服务器(server),数据库(database),数据表(table)和连接(connection)。1.MySQL默认字符集MySQL对

2012-05-08 20:14:28 542

转载 SQL 基础

SQL 基础一、SQL简介         现在SQL是基于SQL-86标准逐步修改出来的二、MySQL使用入门1、SQL分类         SQL语句主要分为3类:(1)      DDL:数据定义语句,用于定义数据库对象,例如:create、drop、alter(2)      DML:数据操纵语句,用于添加、删除、更新和查询数据库

2012-05-06 14:42:33 418

转载 网络游戏服务器端设计(3)

原文地址:http://dev.gameres.com/Program/Abstract/Thinking/online_g_4.htm在这一章节,我想谈谈关于服务器端的脚本的相关设计。因为在上一章节里面,谈NPC智能相关的时候已经接触到一些脚本相关的东东了。还是先来谈谈脚本的作用吧。  在基于编译的服务器端程序中,是无法在程序的运行过程中构建一些东西的,那么这个时候就需要脚本语言的支

2012-05-06 14:38:01 823

转载 网络游戏服务器端设计(2)

原文地址:http://dev.gameres.com/Program/Abstract/Thinking/online_g_3.htm 下面我想来谈谈关于服务器上NPC的设计以及NPC智能等一些方面涉及到的问题。首先,我们需要知道什么是NPC,NPC需要做什么。NPC的全称是(Non-Player Character),很显然,他是一个character,但不是玩家,那么从这点上可以知道

2012-05-06 14:32:53 1270

转载 网络游戏服务器端设计(1)

原文地址:http://dev.gameres.com/Program/Abstract/Thinking/online_g_1_2.htm谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点

2012-05-06 14:31:27 1219

转载 浏览器是怎样工作的?

原文: http://taligarsiel.com/Projects/howbrowserswork1.htm 译文:http://blog.csdn.net/zzzaquarius/article/details/6532299简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到g

2012-05-05 23:11:42 859

转载 百万级访问量网站的技术准备工作

转载自http://www.infoq.com/cn/articles/lzy-million-visits-site-technical-preparations当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已经很简单也很便宜,所以很多人都把创业方向定位在互联网应用。这些人里大多数不是很懂技术,或者不是那么精通,而网站开发维护方面的知识又很分散,学习成本太高,所

2012-04-30 21:26:58 586

转载 Perl 与 Python 之间的一些异同

转载自http://www.ibm.com/developerworks/cn/linux/l-cn-perl2python/index.html关于 Perl 与 Python 的起源和特点Perl 是 Practical Extraction and Report Language 的简称,由 1987 年 Larry Wall 创建,最初的目的是为了在 UNIX 上方便处理报

2012-04-30 14:51:45 461

转载 Linux 平台相关代码的 C++ 解决方案

转载自http://www.ibm.com/developerworks/cn/linux/l-cn-cppoverlinux/index.htmlLinux 平台相关代码带来的问题目前市场上存在着许多不同的 Linux 平台(例如:RedHat, Ubuntu, Suse 等),各大厂商和社区都在针对自己支持的平台进行优化,为使用者带来诸多方便的同时也对软件研发人员在进行编码时带

2012-04-30 14:18:02 488

转载 netperf 与网络性能测量

转载自http://www.ibm.com/developerworks/cn/linux/l-netperf/在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多,或者即使考虑到性能的问题,但是却发现没有合适的手段去测试网络的性能。当开发出一个网络应用程序后,我们会发现,在实际的网络环境使用中,网络应用程序的使用效果不是很理想,

2012-04-30 13:52:59 637

转载 Linux 多线程应用中如何编写安全的信号处理函数

转载自http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/Linux 多线程应用中编写安全的信号处理函数在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如 SIGUSR1、SIGRTMIN

2012-04-22 02:23:29 477

转载 Linux 的多线程编程的高效开发经验

转载自http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/index.html背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线

2012-04-22 02:21:27 336

转载 Linux环境进程间通信(五): 共享内存(下)

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index2.html系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shmid_kernel结构联系起来的),后面还将阐述。

2012-04-22 02:18:12 311

转载 Linux环境进程间通信(五): 共享内存(上)

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输

2012-04-22 02:15:29 335

转载 Linux环境进程间通信(四)信号灯

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part4/一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号灯有以下两种类型:二值信号灯:最简单的信

2012-04-22 02:14:11 287

转载 Linux环境进程间通信(三)消息队列

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part3/消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像"即时"的通信方式,它要

2012-04-22 02:11:48 283

转载 Linux环境进程间通信(二): 信号(下)

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处

2012-04-22 02:10:08 273

转载 Linux环境进程间通信(二): 信号(上)

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html一、信号及信号来源信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。

2012-04-22 01:46:33 262

转载 Linux环境进程间通信(一)管道和FIFO

转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘

2012-04-22 01:36:16 428

转载 使用 GDB 调试多进程程序

转载自http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.htmlGDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统:进程 Proc2 是 Proc1 的子进程,Proc3 又是 Proc2 的子

2012-04-22 01:08:43 382

转载 C++著名程序库的比较和学习经验

1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XML6、C++各大有名库的介绍——科学计算7、C++各大有名库的介绍——游戏开发8、C++各大有名库的介绍——线程9、C++各大有名库的介绍——序列化10、C++各大有

2012-04-20 13:22:27 422

转载 Why C++ ? 王者归来

转载自http://coolshell.cn/articles/6548.html因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文《2012 不宜进入的三个技术点》ActionScript,Thread 和 C++, C++争议的争议最大。(要我说,.NET比C++更需要慎重进入,呵)。我就在这里回复一下这个问题吧。

2012-04-20 01:36:45 382

转载 一些软件设计的原则

以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识。这些原则,每一个程序员都应该了解。但是请不要

2012-04-20 01:18:53 315

转载 程序员技术练级攻略

转载自http://coolshell.cn/articles/4990.html月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把

2012-04-20 00:17:35 380

《Android应用开发揭秘》源码.rar

《Android应用开发揭秘》源码.rar

2011-10-13

华为编程规范和范例.PDF

华为编程规范和范例.PDF,这些不为人知的东西

2011-07-02

空空如也

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

TA关注的人

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