这两天看了马士兵老师的视频、视频中提到了一个万能钥匙、就是了解程序运行中对内存的操作、主要讲了堆、栈、Data、说真的有点晕、看了两遍、也就略懂一二、在这做个小小知道总结
简介
我们程序运行的时候都是放在内存里的、根据静态、成员函数、代码段、对象、等等、放在不同的内存分块里、大概分为5块
1 栈
2 堆
3 BSS段-全局...
分类:
其他好文 时间:
2014-09-08 01:05:06
阅读次数:
242
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据...
分类:
其他好文 时间:
2014-09-01 22:37:53
阅读次数:
260
【译】.NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱
分类:
Web程序 时间:
2014-09-01 15:24:03
阅读次数:
272
为何要翻译 一来是为了感受国外优秀技术社区知名博主的高质量文章,二来是为了复习对.NET技术的基础拾遗达到温故知新的效果,最后也是为了锻炼一下自己的英文读写能力。因为是首次翻译英文文章(哎,原谅我这个菜比,弱爆了!),所以肯定会有很多问题(有些语句理解不透彻,翻译出来也不通顺,还请不吝赐教),也请....
分类:
Web程序 时间:
2014-09-01 13:48:03
阅读次数:
218
此文从别处转载,具体是哪位大神写的就不知道了;栈、堆、常量池虽同属java内存分配时操作的区域,但其适应范围和功用却大不相同。java内存分配与管理是java的核心技术之一,一般java在内存分配时会涉及到以下区域:寄存器:程序中无法控制(补充:c里是是可以通过register关键字将数据分配在寄存...
分类:
编程语言 时间:
2014-08-19 09:22:13
阅读次数:
259
这就需要引入三个名词:
● _NSConcretStackBlock
● _NSConcretGlobalBlock
● _NSConcretMallocBlock
正如它们名字说的那样,说明了block的三种存储方式:栈、全局、堆。...
分类:
其他好文 时间:
2014-08-16 22:31:41
阅读次数:
237
首先先看几道block相关的题目
看看能否答对两三个。主要涉及block栈上、还是堆上、怎么捕获变量.本章博文比较长,前面部分是block的测试题目,中间是block的语法、特性,block讲解block内部实现和block存储位置,请读者耐心阅读。...
分类:
其他好文 时间:
2014-08-16 22:31:21
阅读次数:
303
Tasks and Back Stack 一个app一般包含多个activities,每个activity执行不同任务。 Task是与用户交互执行一系列任务的activities集合,这些activities已打开顺序排列在一个栈堆中。 用户点击主页面的图标或者快捷方式,如果此应用从未被执行过,那么...
linux进程地址空间详解(转载)在前面的《对一个程序在内存中的分析》中很好的描述了程序在内存中的布局,这里对这个结果做些总结和实验验证。下面以Linux为例(实验结果显示windows上的结果也一样)。我们还是利用前面看到过的这个图,如下图:32位X86机器的内存布局图,内存主要分为栈、堆、BSS...
分类:
系统相关 时间:
2014-08-12 21:31:44
阅读次数:
451
在 C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。
template
class A
{
friend T;
private:
A(...
分类:
编程语言 时间:
2014-08-08 02:01:45
阅读次数:
276