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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋斗2013 中级黑马   /  2013-2-28 23:33  /  1453 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java 堆和栈怎么存储

2 个回复

倒序浏览
1.所有的基本数据类型全部是存储在栈里面,速度快。
2.一个对象,他的实体是存储在堆里面的,而他的引用是存储在栈里面。
3.就对象本身而言,他的所有属性的值如果不是单例或者静态的,就是存储在堆里面的。一个类的所有对象的属性值都在堆里面并且占用不同的内存空间,而一个类的方法只在方法区里占一个地方,所有的对象指向同一个方法区。
那么怎么区分每个对象的方法呢?是堆的那里传递一个this给方法区的
回复 使用道具 举报
java程序执行时,Windows会在内存中划分Java空间。java内存又分为5个区域:1、寄存器(cpu涉及的区域)2、本地方法区(是和系统相关的代码存储区域)3、栈内存4、堆内存5、方法区。栈内存:存储的都是局部变量。变量运算区域一结束,就被释放。堆内存:存储的是数组和对象。堆内存中存储的都是实体。而实体只有在不再被引用时,才会被垃圾回收器回收。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马