社区
Java SE
帖子详情
请问类变量存放在内存的哪里?
yhl5115
2007-10-26 08:57:09
在Thinking in Java 里提到有五个不同的地方(寄存器、堆栈、堆、常量存储、非RAM存储),类变量好像没有放在前边五个当中的任意一个啊
看到过说类变量在JVM中是放在方法区里的,这个方法区是一般的RAM啊,难道Thinking里说的有问题?
请教高手指点...
...全文
431
8
打赏
收藏
请问类变量存放在内存的哪里?
在Thinking in Java 里提到有五个不同的地方(寄存器、堆栈、堆、常量存储、非RAM存储),类变量好像没有放在前边五个当中的任意一个啊 看到过说类变量在JVM中是放在方法区里的,这个方法区是一般的RAM啊,难道Thinking里说的有问题? 请教高手指点...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liluyemin
2007-10-26
打赏
举报
回复
个人认为放在栈里面的 只是他是一个指针变量 指向了堆中那个类的实例
lanseliuying
2007-10-26
打赏
举报
回复
在RAM里,我记得Think in Java中有段话:
“静态”是指在“固定的位置”(尽管也在RAM里)。静态存储里放程序运行时一直存在的数据。
汪老实
2007-10-26
打赏
举报
回复
嗯,应该是在ram里面。RAM里面应该有专门的静态存储区的
yhl5115
2007-10-26
打赏
举报
回复
谢谢大家的回答,whzresponse说得恨清晰
可在thinking里的非RAM是磁盘,就是持久化对象的那部分
我在想,这个静态数据就是在一般的RAM里吧,只是划出来专门存放这些东西的(当然还可以放其它的吧),这块RAM
就是JVM里的方法区,不知道我的理解对不
汪老实
2007-10-26
打赏
举报
回复
寄存器是内存中速度最快的,很有限,一般由JVM来按需要分配,我们是没有办法就操作他的内存
堆栈 一指针上移来分配内存,而且需要知道他的大小以及生命周期,所以分配的速度非常快,在
java中,所有的简单数据类型和引用都是存放在堆栈中的!
堆 这里分配内存不需要知道他的大小及生命周期这个好处,相对堆栈来说分配的速度要慢点,java中对象就储存在这里面,不包括常量和静态数据
常量存储 存储常量数据咯!
非RAM存储 应该是非RAM静态存储吧,就是存储静态数据的!
yhl5115
2007-10-26
打赏
举报
回复
二楼的可能没明白我的意思,我是说类变量就是类数据,也就是static变量
zhb_821012
2007-10-26
打赏
举报
回复
类在内存中是不存在的,内存中只有数据和函数,对象也是数据,类的各种特性通过一个个真实的对象来体现,类中的成员函数(非静态)也通过每个真实的对象来体现,也就是通过一组内存中的数据才能访问到这些成员函数。
洋溢2020
2007-10-26
打赏
举报
回复
你们可以用汇编读来看看的,是吗...?
变量
名
存放
在哪里?
变量
名
存放
在哪里? 这是一个有意思且无聊的问题,之前在网上看到有人问道这个问题,比如说在PHP里面我们写下 $name = "名字" 这样的代码语句,在代码运行的时候,$name 在哪里呢? 了解了
变量
在
内存
中存储方式的人会知道,一般
变量
的值在
存放
在栈
内存
里面的,但是名字呢? 针对这个问题,咱们先要区分一下编译型语言和解释型语言,这2种语言运行方式完全不一样,C/C++是典型的编译型语言,而且PH...
java
变量
存放
在哪_Java全局
变量
存放
在哪里?
我们说 常量,静态
变量
存放
在方法区中,方法中的临时
变量
,
存放
到Java 虚拟栈中。有人问,那全局
变量
*(对象)
存放
在哪里. 其实全局
变量
就是参考文章中所说的class的字段,就是指全局
变量
,它是
存放
在方法区中的。e)方法区与堆一样,是被线程共享的区域。在方法区中,存储了每个
类
的信息(包括
类
的名称、方法信息、字段信息)、静态
变量
、常量以及编译器编译后的代码等。在Class文件中除了
类
的字段、方法、接...
33.static的含义与作用是?static修饰的成员
变量
在
内存
哪个区?
static的含义与作用是? <1>static关键字可以修饰方法;静态方法; <2>static关键字可以修饰成员
变量
;静态
变量
; <3>static 不能修饰对象; static修饰的成员
变量
在
内存
哪个区? static 修饰的静态
变量
存放
在
内存
的数据区;也就是静态
变量
存放
在——数据区 new 一个对象 —— 堆区 成员
变量
—— 堆区
变量
的首地址 —— 栈区 代码示例 public class Test { //构造方法 publi
C语言中全局
变量
存放
在哪个位置?
全局
变量
存放
在静态存储区,位置是固定的。 局部
变量
在栈空间,栈地址是不固定的。 栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的
变量
的存储区。里面的
变量
通常是局部
变量
、函数参数等。 堆:就是那些由new分配的
内存
块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 自由存储
一个程序运行时,哪些
变量
存放
在堆中,哪些
变量
存放
在栈中?
一个程序运行时,哪些
变量
存放
在堆中,哪些
变量
存放
在栈中?堆:全局
变量
,静态
变量
,malloc函数栈:子函数入口的临时
变量
,局部
变量
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章