请问类变量存放在内存的哪里? 在Thinking in Java 里提到有五个不同的地方(寄存器、堆栈、堆、常量存储、非RAM存储),类变量好像没有放在前边五个当中的任意一个啊看到过说类变量在JVM中是放在方法区里的,这个方法区是一般的RAM啊,难道Thinking里说的有问题?请教高手指点... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 二楼的可能没明白我的意思,我是说类变量就是类数据,也就是static变量 寄存器是内存中速度最快的,很有限,一般由JVM来按需要分配,我们是没有办法就操作他的内存堆栈 一指针上移来分配内存,而且需要知道他的大小以及生命周期,所以分配的速度非常快,在 java中,所有的简单数据类型和引用都是存放在堆栈中的!堆 这里分配内存不需要知道他的大小及生命周期这个好处,相对堆栈来说分配的速度要慢点,java中对象就储存在这里面,不包括常量和静态数据常量存储 存储常量数据咯!非RAM存储 应该是非RAM静态存储吧,就是存储静态数据的! 谢谢大家的回答,whzresponse说得恨清晰可在thinking里的非RAM是磁盘,就是持久化对象的那部分我在想,这个静态数据就是在一般的RAM里吧,只是划出来专门存放这些东西的(当然还可以放其它的吧),这块RAM就是JVM里的方法区,不知道我的理解对不 嗯,应该是在ram里面。RAM里面应该有专门的静态存储区的 在RAM里,我记得Think in Java中有段话:“静态”是指在“固定的位置”(尽管也在RAM里)。静态存储里放程序运行时一直存在的数据。 大家帮忙解释一下,为什么是这样的结果 在java中如何显示指定的文本文件的内容,如D盘根目录下的ls.txt文件,运行时不能显示汉字 c# 多线程问题? 关于List 设置透明色 Java 实现快速平方根 float类型的数字怎么确定精度????? jb7的变体类型哪儿去了? Java 方法 100分!!关于Oracle插入clob的问题,急!!在线等,解答立马结帐! 如何取得session的id
java中,所有的简单数据类型和引用都是存放在堆栈中的!堆 这里分配内存不需要知道他的大小及生命周期这个好处,相对堆栈来说分配的速度要慢点,java中对象就储存在这里面,不包括常量和静态数据
常量存储 存储常量数据咯!
非RAM存储 应该是非RAM静态存储吧,就是存储静态数据的!
可在thinking里的非RAM是磁盘,就是持久化对象的那部分
我在想,这个静态数据就是在一般的RAM里吧,只是划出来专门存放这些东西的(当然还可以放其它的吧),这块RAM
就是JVM里的方法区,不知道我的理解对不
“静态”是指在“固定的位置”(尽管也在RAM里)。静态存储里放程序运行时一直存在的数据。