A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

       通过资料上知道,数据和程序都是在运行数据区域存放。
       老师也讲了java程序运行区是栈内存,java的线程开始时会在栈内存中创建,结束时就会释放。
       但是,
       1、栈内存是本身就存在的一块内存区域,还是和java的线程一同出现的呢?
       2、 栈和堆内存在结构上有什么区别吗?
       希望大神能给解答一下。谢谢

2 个回复

倒序浏览
java运行时,有栈内存、堆内存和方法区三种,变量存在栈内存,引用变量和对象存储在堆内存,静态的变量存储在方法区。应该还不完整,希望对你有帮助
回复 使用道具 举报
栈内存属于内存本身的一部分,堆和栈最主要区别在于程序运行时存放的数据不一致,堆内存用来放对象,即一切new出来的东西,栈用来放局部变量和对象的引用,方法运行时会压栈,运行结束后会弹栈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马