自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

转载 skip list介绍

为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 L

2014-11-21 14:51:21 660

原创 vc中运行库的选择

这两天编译工程的时候引入了mysql++的

2014-09-02 10:10:50 1245

转载 TCP 连接过程状态简介

Linux中TCP连接过程状态简介一、Linux服务器上11种网络连接状态:      图:TCP的状态机通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN: (同步序列编号,Synchronize Sequence Numbers)

2014-08-04 13:02:03 758

翻译 从dll中导出c++类

简介:动态库(DLL)从开始就作为windows平台的组成部分而存在。它以独立的模块把c函数封装起来供其他用户使用 。DLL从开始就是以封装C语言的形式而存在,当然现在你也可以封装其他语言,比如c++,而如果要实现跨平台使用DLL,则我们必须回归到C语言。利用C语言接口并不意味着我们必须丢弃掉面向对象方法。C语言可以实现应用二进制接口(ABI),这样使调用者和被调用着可以遵从统一的标准,但

2014-08-01 16:42:45 7262 3

原创 memset 用法

void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset

2014-06-04 16:08:44 559

转载 TCP 滑动窗口协议及拥塞控制

TCP 滑动窗口协议及拥塞控制 (2013-05-21 07:43:35)转载▼  什么是滑动窗口协议?     一图胜千言,看下面的图。简单解释下,发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避

2014-05-19 13:21:07 946

转载 高性能网络编程(一)----accept建立连接

http://blog.csdn.net/russell_tao/article/details/17119729最近在部门内做了个高性能网络编程的培训,近日整理了下PPT,欲写成一系列文章从应用角度谈谈它。编写服务器时,许多程序员习惯于使用高层次的组件、中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发的效率,追求更快的完成项目

2014-05-19 10:06:34 587

转载 java 初始化问题

http://wxl24life.iteye.com/blog/1924719在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Field 分为两种:static field:也称作 class variable,这种 fil

2014-03-31 09:24:17 1299

转载 Design pattern FAQ Part 2

http://www.codeproject.com/Articles/28359/Design-pattern-FAQ-Part-Design-pattern-trainingIntroductionThis is continuation to design pattern FAQ Part 1. In this FAQ series we will cover Inter

2014-03-17 17:09:02 1026

转载 Design pattern FAQ Part 1 (Training)

Design Pattern FAQhttp://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-Traininghttp://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-TrainingWhat are design patterns

2014-03-17 17:06:14 550

转载 Design pattern and Software design interview questions for Programmers

20 Design pattern and Software design interview questions for ProgrammersDesign patterns and software design questions are essential part of any programming interview, no matter whether

2014-03-17 17:05:08 1094

转载 深入理解C++的动态绑定和静态绑定

为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:[cpp] vi

2014-03-15 10:23:37 452

转载 链表操作

一些常见的单链表题目,总结思路和实现代码。1.单链表的反序2.给单链表建环3.检测单链表是否有环4.给单链表解环5.检测两条链表是否相交6.不输入头节点,删除单链表的指定节点(只给定待删除节点指针) 1.单链表的反序[cpp] view plaincopy//逆转链表,并返回逆转

2014-03-13 20:36:44 541

原创 explicit关键字

explicit关键字C++中,带单一参数的类构造函数在缺省情况下隐含一个转换操作符| 将该构造函数对应的函数参数转换为该类对象。。。例class MyClass fpublic:MyClass( int num ) ; // constructor and implicit conversion operatorg;...MyClass obj = 10 ;

2014-03-13 10:38:35 414

转载 what’s a virtual destructor and when is it needed?

In C++, what’s a virtual destructor and when is it needed?The need for virtual destructors in C++ is best illustrated by some examples. Let’s start by going through an example that does no

2014-03-12 20:29:27 644

转载 difference between lvalue and rvalue

Suppose we have the example code shown below in C. Will it compile? How do the concepts of lvalues and rvalues work in this problem? #define X 8int main(void){ ++X; // will

2014-03-12 16:30:45 601

转载 Diffrenece between process and thread

A process is an executing instance of an application. What does that mean? Well, for example, when you double-click the Microsoft Word icon, you start a process that runs Word. A thread is a path of e

2014-03-12 15:06:08 576

转载 关于硬链接和软连接(符号链接)的区别

http://blog.csdn.net/hairetz/article/details/4168296   linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。   硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1

2014-03-12 14:04:14 474

转载 如何计算一个整形数组里的连续元素和的最大值?

转自 http://www.yl1001.com/ask/41004/question/5461393293384111.htm例:{9, -12, 120, 8, -20, 100, 30, -89, 20} 结果是{120, 8 , -20, 100, 30}的和最大,为 238 函数声明: int max_sum(int *array, int array_len);请计算一个整形数组里

2014-03-11 21:32:39 1114

原创 反转链表

Node * resverselinkWeibo(Node *head){ Node *newhead=NULL; Node *next; while(NULL!=head) {  next=head->next;  head->next=newhead;  newhead=head;  head=next ; } return newhead;

2014-03-06 19:35:51 520

转载 平均值考虑溢出的问题

[cpp] view plaincopyint avg(int x, int y)  {           return (x & y) + ((x ^ y) >> 1);  }  解释:X+Y= (X^Y)+((X&Y)SO: (X+Y)/2==((X^Y)>>1)+(X&Y)

2014-03-06 19:24:59 1086

转载 生产者消费者问题

http://zhanglibin.blog.51cto.com/2553477/610354From:《POSIX多线程编程》生成方和使用者问题    并发编程中收集了许多标准的众所周知的问题,生成方和使用者问题只是其中的一个问题。此问题涉及到一个大小限定的缓冲区和两类线程(生成方和使用者),生成方将项放入缓冲区中,然后使用者从缓冲区中取走项。    生成方必

2014-02-28 20:26:17 475

转载 linux中fork()函数详解

转自 http://blog.csdn.net/jason314/article/details/5640969 一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用

2014-02-28 16:56:57 346

转载 spinlock

自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。自旋锁 - 概念   何谓 自旋锁?它是为实现保护 共享资源而提出一种锁机制。其实,自旋锁与 互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是 互斥锁,还

2014-01-24 14:35:48 435

转载 ORALCE 之LRU链与脏LRU链

一、LRU链:     任何缓存的大小都是有限制的,并且总不如被缓存的数据多。就像Buffer cache用来缓存数据文件,数据文件的大小远远超过Buffer cache。因此,缓存总有被占满的时候。当缓存中已经没有空闲内存块时,如果新的数据要求进入缓存,就只有从缓存中原来的数据中选出一个牺牲者,用新进入缓存的数据覆盖这个牺牲者。这一点我们在共享池中曾提及过,这个牺牲者的选择,是很重要的。

2013-12-27 16:49:28 498

转载 命中率80%,磁盘I/O减半,Flashcache的发展史

转自http://www.csdn.net/article/2013-10-31/2817357-facebook-flashcache-2010-2013第一版发布的3年后,Facebook开源了新版Flashcache。对比旧版本,新版本缓存命中率由原来的60%提升到80%,磁盘读写更减少了一半。 近日该公司数据库工程师Domas Mituzas撰文盘点了Flashcache在Fa

2013-12-27 16:47:25 887

转载 MDL

一、内存描述符列表 (MDL) 是一个系统定义的结构,通过一系列物理地址描述缓冲区。执行直接 I/O 的驱动程序从 I/O 管理器接收一个 MDL 的指针,并通过 MDL 读写数据。一些驱动程序在执行直接 I/O 来满足设备 I/O 控制请求时也使用 MDL。驱动程序编写人员不应该假设 MDL 描述的内存页的顺序或内容。驱动程序不得依赖于 MDL 指向的任何位置的数据值,并且不应该

2013-12-20 10:55:58 1276

转载 cache 相关知识 read/write through/back/allocate

[有關 Cache 的 read/write through/back/allocate 的意義]所謂的read/write cache的hit/miss,指的是CPU要read/write某一位址的資料,若此時cache裡的資料剛好是該位址的資料,則稱為cache hit,若此時cache裡的資料不是該位址的資料,則稱為cache miss。A. [Read]----

2013-12-16 15:31:32 1990

转载 Vmware中的bridge、nat区别

http://www.cnblogs.com/adforce/archive/2012/03/15/2399468.html概述:VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。1.bridged(桥接模式)  在这种模式下,VMW

2013-12-12 13:27:29 493

原创 linux kernal 代码汇总学习

/** * llist_reverse_order - reverse order of a llist chain * @head:        first item of the list to be reversed * * Reverse the order of a chain of llist entries and return the * new first entry. */s

2013-12-11 13:39:20 745

转载 一致性哈希算法及其在分布式系统中的应用

转自 http://blog.codinglabs.org/articles/consistent-hashing.html摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,

2013-12-11 10:42:43 405

转载 swap space

By Gary Sims Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space on the ha

2013-12-05 13:41:37 1051

转载 Compiling, Linking and Debugging Tips for C++

Copy from http://www.cs.swarthmore.edu/~newhall/unixhelp/debuggingtips_C++.htmlINDEXCompiling C++ programsg++, makeInterpreting linker errorsc++filt, nm, dump, objdump, lddDebuggin

2013-09-12 17:17:35 1265

转载 imuxsock begins to drop messages

It turns out that many modern Linux distributions come with 'rsyslog', which is a replacement for 'syslogd' or 'sysklogd', but starting with version 5.7.1 of rsyslog, a feature known as rate-limiting

2013-09-11 17:14:50 4258

原创 关于C++ 引用

class A { int& a;public: A (int _a) : a(_a) {}};int main(){ A a(10); return 0;}上面的code有问题么?  这段code可以编译,但是成员变量引用了一个栈变量,从而会导致“undefined behavier”。

2013-09-09 21:42:01 691

转载 去掉^M的几种方法

vim上经常会碰到中文显示不正常的现象,也就是传说中的乱码。搜索了一下,在 http://www.chinalinuxpub.com/bbs/showthread.php?t=45475找到了一个解决办法。但是gbk编码的正常了,utf8的又不对了。于是稍微改了一点。用户目录下创建.vimrc文件加入set fileencodings=utf-8,gb2312,gbk,gb18

2013-07-29 15:29:20 1533

转载 15 C/C++中的日期和時間 time_t與struct tm轉換

转载自:   http://tw.tonytuan.org/2008/10/cc-timetstruct-tm.htm摘要:本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的數據結構和函數,並對計時、時間的獲取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的實例向你展示了time.h頭文件中聲明的各種函數和數據結構的詳細使用方法。關鍵字:UTC(世界標准時

2013-07-10 10:33:40 1205

转载 Python正则表达式指南

转自 http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.htmlalso reference: http://docs.python.org/2/library/re.html本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效

2013-05-30 17:42:01 362

转载 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

SSH登陆错误"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "SSH登陆错误解决办法:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HASCHANGED!     @@

2013-04-22 19:43:13 503

转载 perl 基本语法

Perl的基本語法前言:這篇文章是花了我很多時間、費了我很多心血才完成的,雖然連我自己都覺得無法達到盡善盡美的境界,但希望能幫助大家入門,稍微了解到Perl到底是個什麼樣的東西,Perl到底有那些強大的功能,那麼這篇文章的目的就達到了。我分做資料型態、控制敘述、副程式、I/O和檔案處理、Regular Expressions、Spectial Variables、Hel

2013-03-20 15:29:08 681

重构改善既有的代码

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

2014-08-26

程序员杂志2008第1期

程序员杂志2008第1期,不错的技术杂志,如果可以的话继续传其余的

2010-03-07

suse中文版介绍

suse中文版介绍,对于想了解suse的倒是有帮助

2007-05-03

空空如也

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

TA关注的人

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