黑马程序员技术交流社区
标题:
Java基础--内存划分(堆、栈等)
[打印本页]
作者:
michael_wlq
时间:
2015-8-26 11:20
标题:
Java基础--内存划分(堆、栈等)
本帖最后由 michael_wlq 于 2015-8-26 11:26 编辑
首先,来看定义数组后的内存分配:
111.jpg
(102.02 KB, 下载次数: 9)
下载附件
2015-8-26 11:26 上传
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。Java有自动的垃圾回收机制,这一点要优于c++。
内存的划分:寄存器、本地方法区、方法区、栈内存、堆内存。
栈内存
:用于存储局部变量,当变量所属的作用域一旦结束,所占空间会自动释放。
堆内存
:数组和对象,通过new建立的实例都存放在堆内存中。
每一个实体都有内存地址值。
实体中的变量都有默认初始化值,根据类型的不同而不同。整数类型是0,小数类型是0.0或0.0f,boolean类型是false,char类型是'\u0000'。
如果将数组的引用实体设置为null,也就是实体不再被使用,那么会在不确定的时间内被垃圾回收器回收。
作者:
hejin67410
时间:
2015-9-18 17:03
谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2