OS--内存
来源:互联网 发布:Mac电脑打魔兽世界卡吗 编辑:程序博客网 时间:2024/05/01 04:23
1. 全局区
2. 代码区
3. 堆区
4. 栈区
1. 全局区
静态数据,全局数据
static int s_i=0; int g_i=0;
2. 代码区
代码,代码中的魔术字(比如字符串"abc", 1+2等)
3. 堆区
new或malloc出来的内存区域。现在系统中一般预分配;即使不预分配也会使用内存池来在应用层回收和重用。从而减少内存碎片和系统更加稳定(减少内存分配失败的异常处理)
4. 栈区
上下文,C/C++那些数组定义,非malloc或者new,或者c#的值类型(int, ,,,struct)。
一般为了避免嵌套太多,或者编码的异常触发,,,一般要把默认栈大小弄大点。
LIFO队列
一般栈速度要比堆块。
a. 栈有sp寄存器来专门放地址,堆还要去内存中(栈)找。。。。
b. 如果不是预分配或者内存池,堆的分配和回收要复杂多,要查找足够大的区块,要碎片整理。而栈只是一个数值的增加就行了。
总结:一般影响不大,只是那些特别核心频率特高的函数需要注意一下,毕竟还是有10~20%的速度差异的(主要是#a的原因)
- OS--内存
- [OS] BIOS内存分布
- Symbian OS内存泄漏
- OS 内存保护
- OS平台内存常见问题
- Mac OS 内存管理知识
- OS复习-内存管理
- Mac OS 内存管理知识
- 内存与OS
- Mac OS 内存管理知识
- OS内存淘汰算法
- OS 内存管理
- mac os 非活跃内存
- 减少uc/os内存使用
- Symbian OS内存管理介绍
- UC/OS - II内存管理
- mac os 修改tomcat内存
- OS中求内存物理地址
- 高性能服务器(epoll exsample code)
- ios学习--ios将摄像头捕获的视频数据转为jpeg格式 .
- Android Launcher应用的加载过程
- mvc Area相关技术
- linux同步系统时间
- OS--内存
- oracle三大分区(好久没碰数据库拉,今天突然有人问然后就重新学习了一下嘿嘿嘿嘿)
- 那些年,我们一起追过的Linux
- 高性能服务器(epoll c/s样列代码)
- 数据库的基本操作
- 台湾骇客已取得菲律宾DNS资料库帐号与密码
- Windows 系统慢是技术原因?NO……
- Ubuntu 中文输入法的安装
- 云迁移案例:哈佛商学院出版社