黑马程序员技术交流社区

标题: 程序运行是内存是怎么分配的? [打印本页]

作者: dwy_hm    时间: 2014-12-19 22:14
标题: 程序运行是内存是怎么分配的?
程序运行时,对象是怎么放置的,内存是怎么分配的?下面是笔记
有五个不同的地方可以存储数据:
1、寄存器 这是最快的存储区,因为它位于处理器内部,但寄存器的数量及其有限,寄存器根据需求分配,不能直接对它控制。
2、堆栈   位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器那里得到支持,但Java对象并不存储于其中。
3、堆   一种通用内存池也位于RAM 区,用于存放所有Java对象,堆不同于栈的好处是:编译器不知道存储的数据在堆中存活多久,所以堆中进行存储分配和清                理要比栈中分配清理的时间要长
4、常量存储    常量值通常直接存储在程序代码内部
5、非RAM存储   如果数据完全存活于程序之外,在程序不运行时可以存在





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2