一、预备知识—程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其
操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回
收 。注意它与数据结构中的堆是两...
分类:
其他好文 时间:
2016-04-26 20:53:41
阅读次数:
233
说到裁减Linux,无非是为了减小磁盘占用或者是为了某些特定场合的应用(如嵌入式系统)。以RedHat 7.3为例,其最小安装仍然达到了300M,这不得不让人对一直号称小而全的Linux系统感到疑惑。作为自己手中课题的一个铺垫,不久前我尝试了对Linux进行裁减,虽然没有达到预期的一张软盘大小,但结果也相当有吸引力。下面我对此一一做说明。参考文档: Linux bootdisk-HOWTO: ...
分类:
系统相关 时间:
2016-04-26 20:47:40
阅读次数:
317
HFile是HBase存储数据的文件组织形式,参考BigTable的SSTable和Hadoop的TFile实现。从HBase开始到现在,HFile经历了三个版本,其中V2在0.92引入,V3在0.98引入。HFileV1版本的在实际使用过程中发现它占用内存多,HFile V2版本针对此进行了优化,HFile V3版本基本和V2版本相同,只是在cell层面添加了Tag数组的支持。鉴于此,本文主要针对V2版本进行分析,对V1和V3版本感兴趣的同学可以参考其他信息。...
分类:
其他好文 时间:
2016-04-26 20:26:02
阅读次数:
148
1.Spring实现数据库的读写分离
现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。我们通常...
分类:
编程语言 时间:
2016-04-26 19:55:14
阅读次数:
345
本章前言
使用 CoreText 技术,我们可以对富文本进行复杂的排版。经过一些简单的扩展,我们还可以实现对于图片,链接的点击效果。CoreText 技术相对于 UIWebView,有着更少的内存占用,以及可以在后台渲染的优点,非常适合用于内容的排版工作。
本章我们将从最基本的开始,一步一步完成一个支持图文混排、支持图片和链接点击的排版引擎。
CoreText 简介
CoreText 是用...
分类:
其他好文 时间:
2016-04-26 19:36:56
阅读次数:
295
4.1 选择优化的数据类型 通用原则 更小的通常更好 前提是要确保没有低估需要存储的值范围:因为它占用更少的磁盘、内存、CPU缓存,并且处理时需要的CPU周期也更少。 简单就好 简单数据类型的操作需要更少的CPU周期。 尽量避免NULL 值可为NULL的列使得索引、索引统计和值比较都更复杂化。可为N ...
分类:
数据库 时间:
2016-04-26 17:22:06
阅读次数:
151
ls -lh // 查看文件大小 ls -lh filename // 查看某个文件的实际大小 du -h //查看文件所占磁盘大小 du -h filename //查看某个文件的大小 那ls查看的是文件实际大小,du查看的是占用磁盘块的大小 du显示文件所占用的 block 大小,当文件只有1个 ...
分类:
系统相关 时间:
2016-04-26 14:18:05
阅读次数:
158
在计算机中,所有的数据都是存放在内存中的,一般把内存中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不一样,如int占用4个字节,char占用1个字节。为了正确地访问这些内存单元,必须为每个内存单元编上号。每个内存单元的编号是唯一的,根据编号可以准确地找到该内存单元。内存单元的编号叫做 ...
分类:
编程语言 时间:
2016-04-26 14:16:07
阅读次数:
143
在c语言中,结构体数据类型与共用体数据类型都属于构造类型。共用体与结构体数据类型在定义上十分相似,但它们在存储空间的占用分配上有本质的区别。结构体变量是各种类型数据的集合,各成员占据不同的存储空间,而共用体变量的所有成员占用相同的存储空间,在某一时刻只有一个成员起作用。 (1)共用体类型的定义 定义 ...
分类:
其他好文 时间:
2016-04-26 14:01:36
阅读次数:
134
最近上班时候,经常要做数据库还原,时常遇到数据被占用的情况, 执行一句sql语句就可以解决, ALTER DATABASE dbname SET OFFLINE WITH ROLLBACK IMMEDIATE 记录一下,以防下次要用的时候,忘记了。 ...
分类:
数据库 时间:
2016-04-26 09:39:46
阅读次数:
313