最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略。为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里做一个罗列和对比。大部分为copy,仅为记录,请各位看官勿喷。 传统的UNIX实现在内核中设有缓冲区...
分类:
系统相关 时间:
2014-07-04 00:08:09
阅读次数:
414
Microsoft在StrSafe.h定义了新的安全字符串函数为了防止缓冲区溢出,在将一个可写缓冲区作为参数传递时,必须传递它的大小,大小可以有_countof获得,_countof获取字符数, sizeof获取字节数for example: int a[10]; // _countof(a) =....
Oracle暂时表空间主要用来做查询和存放一些缓冲区数据。暂时表空间消耗的主要原因是须要对查询的中间结果进行排序。重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长。直到耗尽硬盘空间。下面操作会占用大量的temporary: 1、用户运....
分类:
数据库 时间:
2014-07-03 22:35:45
阅读次数:
286
C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列char *fgets(char * restrict s, int n, FILE * restrict st...
分类:
编程语言 时间:
2014-07-03 19:56:05
阅读次数:
338
数据库的数据往往会在内存中被存储两次,一次是在PostgreSQL的缓冲区,另一次是在页高速缓冲存储器(page cache)。PostgreSQL在一定程度上极大地增加了内存的使用次数,对于一个完整的系统是有害的。
分类:
数据库 时间:
2014-07-03 00:25:04
阅读次数:
285
ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑…其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情..ob_*系列函数, 是操作PHP本身的输出缓冲区.所以, ob_flush是刷新PHP自身的缓冲区.而flush...
分类:
其他好文 时间:
2014-07-02 22:55:12
阅读次数:
214
当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。
双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双缓冲实现过程如下:
1、在内存中创建与画布一致的缓冲区
2、在缓冲区画图
3、将缓冲区位图拷贝到当前画布...
分类:
编程语言 时间:
2014-07-02 16:47:11
阅读次数:
310
/*** 缓冲区工具类*/public class BufferUtil {/** * 将浮点数组转换成字节缓冲区 */public static ByteBuffer arr2ByteBuffer(float[] arr){ByteBuffer ibb = ByteBuffer.allocateD...
分类:
其他好文 时间:
2014-07-01 12:10:01
阅读次数:
164
/*** 缓冲区工具类*/public class BufferUtil {/** * 将浮点数组转换成字节缓冲区 */public static ByteBuffer arr2ByteBuffer(float[] arr){ByteBuffer ibb = ByteBuffer.allocateD...
分类:
其他好文 时间:
2014-07-01 12:07:23
阅读次数:
280
/*** 缓冲区工具类*/public class BufferUtil {/** * 将浮点数组转换成字节缓冲区 */public static ByteBuffer arr2ByteBuffer(float[] arr){ByteBuffer ibb = ByteBuffer.allocateD...
分类:
其他好文 时间:
2014-07-01 11:43:54
阅读次数:
231