面试中,有家公司做数据库开发的,对内存要求比较高,考到了这个一:在JAVA中,有六个不同的地方可以存储数据:1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序...
分类:
编程语言 时间:
2015-07-31 01:15:30
阅读次数:
119
#include /*1.代码区(text segment):存放CPU执行的机器指令,该区域只读,通常代码区共享.如果代码被频繁的执行,只需要在内存中有一份代码区.2.数据区(data segment),明确初始化的全局变量,静态变a量(全局静态变量和局部静态变量)和常量数据(字符常量)3.BSS...
分类:
其他好文 时间:
2015-07-28 22:35:21
阅读次数:
93
可执行程序的结构;
1.首先, 我们知道编程就是在写数据和处理数据的逻辑
2.一个应用程序编译以后, 得到可执行文件,这个文件就分为: 代码区, 常量区双击这个程序, 在宿主系统上会有一个应用程序加载器的软件.该程序会加载应用程序到内存中。加载内存中的时候, 程序中的全局变量, 常量等数据就开始加载。
3.内存划分为: 代码区(段), 常量区(段), BSS段, 堆区, 栈区
...
分类:
其他好文 时间:
2015-07-27 23:08:04
阅读次数:
138
从低地址到高地址:1、代码区【包含常量的】:存放函数体的二进制代码2、全局变量区【已初始化 + 未初始化】: 全局变量和静态变量的存储是放一块的,初始化的全局变量和静态变量在一块区域, 未初始化的(全局变量和的静态变量)在相邻的另一块区域。 程序结束后有系统释放3、堆:由程序员分配释放, 若程序员....
分类:
编程语言 时间:
2015-07-26 17:15:53
阅读次数:
130
[Person new] 做了三件事: 1)申请内存空间 2)给实例初始化 3)返回空间首地址 实例变量保存在堆区``指针(对象名)保存在栈区 对象方法保存在代码区 调用方法先找到p所指向的堆区的指针—isa然后再找到isa所指向的代码区的方法 对象方法只能由对象来调用,类方法只能由...
分类:
其他好文 时间:
2015-07-24 20:36:26
阅读次数:
117
看《Linux高级程序设计》的笔记设有一个hello的可执行文件①显示该文件的基本信息ls hello -l②文件基本情况file hello③列出文件的存储区域情况size hellotext(代码区): 存放代码和有const修饰的变量和字符串常量。data(静态数据/全局初始化数据区):存放已...
分类:
系统相关 时间:
2015-07-23 21:28:46
阅读次数:
178
系统为了管理内存 把内存划分了几个区域
1>
栈区
栈区之中的数据在栈区之中以栈的形式进行存储.
栈区的特点:数据是先进后出,
放在栈区里面存放的是局部变量.(例如定义在函数内部的变量)
栈区之中的数据(局部变量)的作用范围过了之后,系统就会回收自动管理栈区的内存(分配内存
, 回收内存),不需要开发人员来手动管理
...
分类:
编程语言 时间:
2015-07-19 00:11:54
阅读次数:
1825
首先说明一下几块存储区域:栈区(局部变量、函数参数值)、堆区(对象、手动申请/释放内存)、BSS区(未初始化的全局变量、未初始化的静态数据)、常量区(字符串常量以及初始化后的全局变量、初始化后的静态数据)、代码区(存放函数体的二进制代码)1.为什么需要内存管理 由于移动设备的内存极其有限,所以每个....
分类:
其他好文 时间:
2015-07-14 00:05:31
阅读次数:
133
1.VBA工程常用到三种INSERT:窗体、模块还有一个VBA自带的ThisDrawing窗体,很简单,学过VB都懂模块就好像一个仓库,为窗体、ThisDrawing的代码区提供丰富的函数、过程ThisDrawing,通过小量的实践,我把他当作VBA的入口,相当于C的main函数(如有不对请纠正),...
分类:
编程语言 时间:
2015-07-13 23:55:40
阅读次数:
171