自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 进程状态转换图

2011-09-27 16:34:54 1067

转载 C++STL容器简介

C++ Standard Template LibraryThe C++ STL (Standard Template Library) is a generic collection of class templates and algorithms that allow

2011-09-27 15:29:07 719

转载 数据库的数据类型

数据库的Money类型:整数表示小数(整数后4位表示小数),避免移位对齐小数点带来的误差整数 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字

2011-09-27 14:54:14 564

原创 malloc,calloc和realloc函数

malloc:分配内存,不初始化calloc:清零分配,初始化为0realloc:重新分配,不初始化

2011-09-26 11:16:48 765 1

转载 dup和dup2函数

int dup2(int fd):复制(返回)文件句柄fdint dup2(int fd1, int fd2):复制句柄fd1到fd2上,返回句柄fd2int main(void){int fd, save_fd;char msg[] = "Thi

2011-09-26 10:26:43 634

原创 DLL和COM的发展过程

1.可执行程序太大+软件复用2.拆分成模块    (1)DLL ->DLL Hell    (2)COM(新的DLL:PE/ELF格式,固定的DLL函数:get组件对象指针):通过CLSID定位组件,再查注册表得到元数据(调用规范)3.CAR(免注册:将元数据放入组件,而不是系统注册表)CAR将元数据(可以还原成.h头文件----各种声明)放入DLL中

2011-09-23 15:54:30 507

原创 SPOOLing技术

输入:通过输入缓冲放入输入井,CPU空闲时读入内存输出:从内存放入输出井,外设空闲时通过输出缓冲输出输入/输出井:磁盘输入/输出缓冲:内存

2011-09-22 15:41:32 753

原创 寻址(实模式和保护模式)

1.加电自检2.BIOS/Bootloader:加载OS (实模式:段地址+偏移)          (1)x86:BIOS          (2)ARM:Bootloader3.OS(保护模式:分页/分段)              所有的地址访问(虚拟地址)都通过OS分页/分段, 除了中断向量任然是实地址(实模式)中断向量所指:内核态程序

2011-09-20 16:20:14 589

原创 Fibonacci数列第n项的log(n)算法

拆分成二进制表示log(n)的乘积最后只需要log(n)个乘积

2011-09-19 16:13:10 453

转载 三十分钟掌握STL(Using STL)

STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区

2011-09-19 14:37:23 489

原创 C/C++基本类型字节

char           1short          2int               4                                   float        4long           4

2011-09-19 13:53:31 873

原创 mutable关键字

相对于const如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰

2011-09-19 10:59:33 429

原创 C++数据内存分布

1、堆(heap):程序员控制(分配释放,若否:操作系统释放),不连续内存2、栈(stack):函数参数、局部变量,编译器控制(分配释放),连续内存3、全局(静态)区:全局、静态变量4、常量区:常量字符串...5、代码区:函数体的二进制代码(函数只占一块内存)

2011-09-19 09:54:06 446

原创 static关键字

静态:不依附于任意对象静态数据:(1)类中声明(2)类外定义静态函数: (无this指针)只能访问静态成员(数据/函数)    类名::函数名(...)静态对象:静态区      (1)全局静态对象:main前创建-构造,main后析构-删除

2011-09-19 09:47:54 491

转载 漫谈Google的Native Client(NaCl)技术

Native Client简介Native Client是Google在浏览器领域推出的一个开源技术,它允许在浏览器内编译Web应用程序,并执行原生的编译好的代码。Native Client有以下几个优势(参考Google官方英文介绍):为Web提供更多的图形,音频以及其他功能:可以直接在web上执行了原生的2D,3D图形渲染程序(对Web游戏很有用),播放音视频,响应鼠标键盘

2011-09-14 16:13:33 4243

转载 Web本地计算发展史

Web计算本地化(前端技术)历史-HTML->CSS->Javascript最初的网络上传输的内容是【纯文本】的,从网络上传输回来直接通过字符界面展示出来就够了,本地几乎不用计算。后来,为了更直观,更层次化展现网络内容,人们在文本的基础上加上了什么之类的标签,于是出现了【HTML】,这时候,就出现了浏览器,浏览器是把这些标签解释,并且按照一定格式渲染,这时,就需要一定的本地计算来进

2011-09-14 15:53:31 745

原创 LLVM(Low Level Virtual Machine)

LLVM(低级虚拟机):编译器架构(1)前端:  源代码==静态编译==>中间码(2)后端:  中间码==运行时动态编译(非解释)==>机器码能够使C/C++跨平台LLVM从本质上来说,它不是一个编译器.它是一个

2011-09-14 11:17:56 1663

转载 Chrome Native Client 原理

Native Client:A Sandbox for Portable, Untrusted x86 Native Code系统架构      一个NaCl应用程序由许多可信和不可信NaCl模块组成,每个模块都在一个进程中单独运行。假想一个基于NaCL实现的,用于管理和分享图片的应用,它由两个组件构成,一个用javascript实现的用户界面接口,运行在web浏览器中,另

2011-09-13 15:59:34 5257 2

转载 Dalvik記憶體

dvmGcStartup 朋友曾介紹一個小工具 tree ,這是一個能在文字模式下,將目錄及檔案以樹狀形式呈現。用 tree 列出 vm/ 目錄下所有子目錄和檔案,能看到有一個 GC.h 在 vm/alloc/ 目錄下。這應該就是我們所需要的。在 GC.h 裡面可以看到十來個

2011-09-13 09:33:22 1419

转载 字典树(Trie树)

Trie树就是字典树,其核心思想就是空间换时间。举个简单的例子。给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如

2011-09-07 15:18:58 510

转载 可视化数据结构

基础Stack栈: 数组实现Stack栈: 链表实现Queues队列: 数组实现Queues队列: 链表实现Lists列表: 数组实现 ( java 版演示)Lists列表: 链表实现 ( java 版演示)索引Binary S

2011-09-07 14:47:52 631

转载 浏览器的工作原理

浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。将讨论的浏览器今天,有五种主流浏览器——IE、Firefox、Safari、Chrome及Opera。本文将基

2011-09-07 13:58:19 3059

原创 最长公共子字符串(动态规划)

X =      Y =      X和Y的Longest Common Substring为 长度为2     动态规划解法    c[i][j]表示X0...Xi和Y0...Yj的最大SubstringXi=Yj)的长度,比如   X =

2011-09-06 17:07:51 480

原创 Java&CAR

(1)设计Java类时,有需要快速访问的属性,则可以设计成复合类/复合对象(Java对象+CPP对象),将正常属性和共享属性放入Java对象(通过Java/JNI方法)访问,将快速属性放入C++对象(通过C++函数访问)。(2)实际上C++部分的具体实现放入了构件(通过复合类

2011-09-05 10:55:08 712

原创 KMP(字符串匹配)算法 O(m+n)

在长度为m字符串中匹配长度为n的字符串加快回溯:(1)建立回溯数组,O(n) ;(2)开始匹配,失败则回溯匹配串下标,O(m)Next [ ]数组 : Next [ k ]表示k及K之前最长的等长前后缀 (P[0...j-1]中最长后缀的长度等于相同字符序列的前缀),k为下标------------------------------------------------

2011-09-04 14:17:34 1279

原创 排序算法比较

http://blog.csdn.net/whuslei/article/details/6442755基数排序:由于每一趟的"分配"都是对全部记录处理一遍,因此它的时间复杂度是O (n),而每一趟的"收集"只是巡查一遍队列,依次将各非空队列的队尾指针所指结点链接到下一个非空队列的队头指针所指结点,因此它的时间复杂度是O (r),因此一趟分配和收集的时间复杂度为O (n+r)

2011-09-03 00:23:27 489

转载 字符编码:ASCII,Unicode(UTF-8)

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英

2011-09-02 16:32:49 424

转载 memcpy和memmove的区别

memcpy()和memmove()都是C语言中的库函数,在头文件string.h中,其原型分别如下: void *memcpy(void *dst, const void *src, size_t count);void *memmove(voi

2011-09-02 16:02:29 339

转载 当你输入一个网址的时候,实际会发生什么?

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1. 首先嘛,你得在浏览器

2011-09-02 15:40:27 506

转载 保留IP地址(特殊IP地址)

就像我们每个人都有一个身份证号码一样,网络里的每台电脑(更确切地说,是每一个设备的网络接口)都有一个IP地址用于标示自己。我们可能都知道这些地址由四个字节组成,用点分十进制表示以及它们的A,B,C分类等,然而,在总数大约为四十多亿个可用IP 地址里,你知道下面一些常见的有特殊意义地址吗?我们一起来看看吧: 一、0.0.0.0 严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表

2011-09-02 14:44:30 760

空空如也

空空如也

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

TA关注的人

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