内存理解2
来源:互联网 发布:破解软件密码 编辑:程序博客网 时间:2024/06/01 14:19
局部变量保存在栈里
栈和堆的区别是
栈是系统根据变量大小自动分配空间的
堆是你用new,malloc等手动分配空间的
局部变量保存在栈内存区;
栈内存区的地址是连续的,由系统控制速度较快而
堆内存区的地址是不连续的,它是系统将空闲内存块链接起来的链表,
用户用new/malloc请求分配时,找到第一个满足大小要求的块从链表中删除此节点,
然后分给用户,没有栈内存速度快,但是很灵活。
1 代码区:顾名思义就是存放运行的代码的
2 全局数据区: 存放全局数据和静态数据以及常量.
3 栈区 函数调用时的返回地址,参数压栈,局部变量,返回数据等都存放在栈区.
4 堆区,存放程序动态分配的内存(new,malloc等函数分配的)
栈内存是由系统自己分配和释放的,而堆内存要由程序员自己全全控制的,否则会出现内存泄露.
- 内存理解2
- 理解内存(2)
- 内存理解
- 内存理解
- 内存理解
- 内存理解
- 深入理解内存(2):发展历史,内存地址
- 理解JVM(2) 栈内存,方法区,堆内存
- 【理解JVM】JVM内存管理(2)
- memcached-2-理解memcached的内存存储
- 2、jdk,java内存的理解
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 理解Javascript_01_理解内存分配
- 【Java】路径问题解决方案收集
- java中system.exit (0)与system.exit (1)以及return
- 【Strurs1】FormBean创建错误!
- CentOS6.3+JDK7+Tomcat7.0+MySQL5.5 开发环境的搭建
- 内存理解
- 内存理解2
- origin 8 中输入希腊字母
- 多线程的“并发”和“并行”区别
- hdu 3460 Ancient Printer
- CF 237A (Cash)
- Booki 生成pdf文件时遇到的404错误
- CF 237C (质数区间)
- AE CS4安装后 147 20错误的解决方法
- Facebook面试题,从数组中删除这个指定的值的所有出现