使用了Heap视图的方式来分析内存泄露之后,我们尝试用MAT插件来分析下。MAT,提供了太强大的功能,以至于在测试的过程中也是懵懂的,没有彻底的研究。1.
安装AndroidSdk,Java SDK,Eclipse之类的软件之后,2. 安装Eclipse MAT插件3. 调出DDMS的Heap视图4...
分类:
其他好文 时间:
2014-06-29 14:54:30
阅读次数:
297
条款47模板局部特化
不能对函数模板进行局部特化,所能做的即使重载它们。
但可以对类模板进行局部特化。
template class Heap; //主模板
template classHeap{…}; //局部特化
局部特化的语法类似完全特化,但是他的模板参数列表是非空的。当使用任何(未经修饰的)指针类型来实例化一个Heap时,这个局部特化版将优先于主模板而被采用。进一步而言...
分类:
编程语言 时间:
2014-06-07 01:46:57
阅读次数:
248
一 “无继承”情况下的对象构造考虑下面程序片段:1234567891011Point
glocal; //全局内存配置Point foobar(){Point local;//局部栈内存配置Point *heap=new
Point;//heap内存配置*heap=local;delete heap...
分类:
其他好文 时间:
2014-06-04 17:02:24
阅读次数:
271
这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助。废话不想讲了.入主题:先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对...
分类:
其他好文 时间:
2014-06-03 07:40:57
阅读次数:
196
java 中的内存分为四个部分:stack(栈),heap(堆),data segment, codesegment。
stack(栈):存放基本类型的数据和对象的引用,即存放局部变量。
heap(堆)存放 new 出来的东西。
data segment(数据区):分为静态区和常量区(常量池):
静态区(static segment):存放在对象中用 static 定义的静态成员(即静态变量,如果该静态变量是基本类型变量,则将变量名和值都存入静态区中,如果是引用类型则指向 new 出来的对象。
...
分类:
编程语言 时间:
2014-06-01 15:09:19
阅读次数:
348
来自维基百科
堆
堆(英语:heap) 亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。
堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
逻辑定...
分类:
其他好文 时间:
2014-06-01 05:01:13
阅读次数:
279
Off by One根据 Halvar Flake 在“Third Generation
Exploitation”中的描述,漏洞利用技术依攻击难度从小到大分为三类:1. 基础的栈溢出利用,可以利用返回地址轻松劫持进程,植入 shellcode,如对
strcpy、strcat 等函数的攻击。2. ...
分类:
编程语言 时间:
2014-05-30 22:16:39
阅读次数:
399
[内存结构]C程序通过编译-汇编-连接,最后到可执行文件。载入内存有这几个部分:text:正文段,存放的是可执行的机器码段data:存放初始化之后的全局变量和静态变量bbs:存放未初始化的静态变量和全局变量heap:堆,由程序员自己分配和释放,程序结束时,操作系统也会释放。stack:
栈,编译器自...
分类:
编程语言 时间:
2014-05-30 08:35:07
阅读次数:
373
二叉堆(Binary
Heap)二叉堆是完全二叉树(或者近似完全二叉树);其满足堆的特性:父节点的值>=(<=)任何一个子节点的键值,并且每个左子树或者右子树都是一
个二叉堆(最小堆或者最大堆);一般使用数组构建二叉堆,对于array[i]而言,其左子节点为array[2*i],其右子节点为 arr...
分类:
其他好文 时间:
2014-05-29 14:02:37
阅读次数:
309