文章来源——博客园绿色冰点前几次我们分析了Linux系统中用户进程的4G虚存大致分为了几个部分,介绍了3G用户空间中数据段,代码段等静态区域的虚存管理,重点分析了栈的使用。这次我们来分析一下虚存使用中另一个重要部分--堆。前面的介绍中,我们知道编译器,操作系统担负着大量栈分配管理的工作。不论是静态分...
分类:
系统相关 时间:
2014-07-07 18:29:08
阅读次数:
203
一般来说,MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。注意:不同的版本支持的引擎是有差异的。当然啦,如果你感觉自己的确技术高超,你还能够使用MySQL++来创建自己的数据库引擎,这个已经out of my knowledge,牛人可以参照MyS...
分类:
数据库 时间:
2014-06-27 21:44:32
阅读次数:
227
堆(heap)是一种非常重要的数据结构(这里我们讨论的是二叉堆),它是一棵满足特定条件的完全二叉树,堆的定义如下:
堆是一棵树完全二叉树,对于该完全二叉树中的每一个结点x,其关键字大于等于(或小于等于)其左右孩子结点,而其左右子树均为一个二叉堆。...
分类:
其他好文 时间:
2014-06-27 08:41:58
阅读次数:
225
在前面的文章STL之heap相关操作算法中介绍了堆的相关操作算法,由于堆的注意主要作用是用于排序,我们也知道堆排序的时间复杂度为o(nlogn),是一种不稳定的排序算法,利用堆这一数据结构,我们可以很快第获取一个大数据中最大(或最小)的k个数。同时,上篇文章中,也提出了相关heap算法的一些问题...
分类:
其他好文 时间:
2014-06-27 08:16:59
阅读次数:
171
今天执行了一个比較大的程序,处理的数据达到126MB数据,将数据导入数据库中,用eclipse 来訪问时候,总是出现java.lang.OutOfMemoryError:Java heap space的错误,上网查了一些资料,原来是堆栈溢出的状况,eclipse默认的情况下,堆栈的空间应该是64MB...
分类:
编程语言 时间:
2014-06-27 00:15:23
阅读次数:
323
优先队列(priority queue)是允许至少两种操作的数据结构:Insert及DeleteMin(删除最小者)。相当于队列中的Enqueue、Dequeue操作。优先队列可以用链表、二叉查找树、二叉堆等实现。二叉堆1. 结构性质堆(heap)是一棵完全被填满的二叉树,有可能的例外是在底层,底层...
分类:
其他好文 时间:
2014-06-26 22:16:43
阅读次数:
327
1 区堆和栈1.1 内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。...
分类:
其他好文 时间:
2014-06-26 17:16:08
阅读次数:
216
问题
1. java.lang.OutOfMemoryError: Java heap space
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap
size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置...
分类:
其他好文 时间:
2014-06-26 14:22:18
阅读次数:
180
堆栈详解:http://wenku.baidu.com/link?url=X2J1DAFEl4RLoEGzaIEHqT9FlDRH3cACnucTwkn0pUcbF_zUxjmyW44qNVfOC3ZIBPDQ_vIoBLA8_1CECIXydWpzUjKSBfbJaySACyxDXx7
分类:
Web程序 时间:
2014-06-25 09:05:26
阅读次数:
170
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++API自己做一个引擎。下面介..
分类:
数据库 时间:
2014-06-25 06:36:54
阅读次数:
229