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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 曹华 于 2013-12-27 18:08 编辑


我还想知道程序中的变量、代码、数据存放的相应区域?
一共好像有两个概念,我弄的不是很明白。


8 个回复

倒序浏览
我就知道两个,一个栈,一个堆,当对变量是值类型的存在栈上,变量时引用类型是存在堆上,地址存在栈上
回复 使用道具 举报
在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所有线程共享,而虚拟机栈和本地方法栈还有程序计数器对于线程隔离的。每个区域都有各自的创建和销毁时间。

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
776699 发表于 2013-12-25 17:58
在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所 ...

明白一些,但还不理解。
回复 使用道具 举报
值类型和引用类型   值类型存在在栈中  引用类型存储在堆中  栈中存他在堆中的地址
回复 使用道具 举报
堆 存储引用类型
栈 存储值类型
静态空间 存储静态变量
回复 使用道具 举报
主内存区:存放当前运行的线程、全局变量
各线程都有各自的线程区,存放各自的信息
对于类,则不占用内存,是存放在外存中(磁盘)中
值类型:存放的信息,和地址一个内存空间
应用类型:存放的信息,和地址不在一个内存空间。
回复 使用道具 举报
栈:存储值类型数据和引用类型对象的地址
堆:分为托管堆和静态区,托管堆中存放一般的引用类型对象,系统的垃圾回收器会不定时的清理这片空间,而静态区存放的是静态成员,这片空间在程序运行时最先创建,最后销毁,并且,垃圾回收器在程序运行中不会清理这片空间,直至程序结束。
回复 使用道具 举报
曹华 中级黑马 2013-12-27 11:19:29
9#
如远行客 发表于 2013-12-27 10:06
栈:存储值类型数据和引用类型对象的地址
堆:分为托管堆和静态区,托管堆中存放一般的引用类型对象,系统 ...

有点意思
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马