对C++堆和栈的理解认识
2018-03-04 21:59
162 查看
栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生命周期都很短。
堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆中,堆中存放的都是实体(对象),实体用于封装数据,而且是封装多个(实体的多个属性),如果一个数据消失,这个实体也没有消失,还可以用,所以堆是不会随时释放的,但是栈不一样,栈里存放的都是单个变量,变量被释放了,那就没有了。堆里的实体虽然不会被释放,但是会被当成垃圾,Java有垃圾回收机制不定时的收取。
堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆中,堆中存放的都是实体(对象),实体用于封装数据,而且是封装多个(实体的多个属性),如果一个数据消失,这个实体也没有消失,还可以用,所以堆是不会随时释放的,但是栈不一样,栈里存放的都是单个变量,变量被释放了,那就没有了。堆里的实体虽然不会被释放,但是会被当成垃圾,Java有垃圾回收机制不定时的收取。
相关文章推荐
- 认识理解Java中 native方法
- node.js的学习历程九Cookie和Session的初步认识和理解
- 【原创】C#认识/理解/运用 StreamReader,StreamWriter,StringReader,StreamWriter
- java中二维数组(多维数组)的理解认识
- 理解 Delphi 的类(五) - 认识类的继承
- 关于SpringAOP的初步认识(个人理解)
- 【工业互联网】工信部:从四个方面介绍了对工业互联网平台的一些认识和理解
- 深入理解和认识Gcoge 酷鸽新媒体 www.gcoge.com
- 艾伟_转载:HttpModule的认识与深入理解
- 理解和认识udev
- 认识J2EE, 解析J2EE中servlet标准, 理解web容器,java容器
- 关于MPU6050姿态解算的理解与认识
- 理解和认识udev
- 我对CSS vertical-align的一些理解与认识(一)
- HttpHandler的认识与加深理解
- HttpApplication的认识与加深理解
- 架构漫谈(二):认识概念是理解架构的基础
- css之vertical-align的理解与认识
- 对于c++面向对象的深刻认识和理解--哲学角度看问题(源生论)