黑马程序员技术交流社区

标题: 【哈尔滨校区】关于栈内存和堆内存的一些问题,请教大家 [打印本页]

作者: sky123    时间: 2015-11-26 19:00
标题: 【哈尔滨校区】关于栈内存和堆内存的一些问题,请教大家
       通过资料上知道,数据和程序都是在运行数据区域存放。
       老师也讲了java程序运行区是栈内存,java的线程开始时会在栈内存中创建,结束时就会释放。
       但是,
       1、栈内存是本身就存在的一块内存区域,还是和java的线程一同出现的呢?
       2、 栈和堆内存在结构上有什么区别吗?
       希望大神能给解答一下。谢谢

作者: yuhongzhen    时间: 2015-11-26 20:04
java运行时,有栈内存、堆内存和方法区三种,变量存在栈内存,引用变量和对象存储在堆内存,静态的变量存储在方法区。应该还不完整,希望对你有帮助
作者: 奔跑的小红帽    时间: 2015-11-26 20:59
栈内存属于内存本身的一部分,堆和栈最主要区别在于程序运行时存放的数据不一致,堆内存用来放对象,即一切new出来的东西,栈用来放局部变量和对象的引用,方法运行时会压栈,运行结束后会弹栈




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