对象是在堆里没错,但是我说的意思是还有一个引用变量,就是object它存放在什么位置?
解决方案 »
- 定义MVC的时候 为什么老定义类BusinessService这个类 还有为什么要定义代理类 谁举个例子给我讲讲啊 谢谢
- 求用java 实现对weblogic10的监控 并把实时状况放到数据库
- hibernate和JPA区别
- apache-tomcat-6.0.16下下找不到jk2.properties这个文件
- 请问tomcat如何设置www.xxx.com/test 这样的域名?
- 空间倒闭了,如何是好
- sf~~
- 文本文件导入数据库
- 我用tomcat连接池连接mysql,用jsp测试成功,可是改用class ConnectionProvider测试时出错,请大虾指点一下!在线等!
- struts 启动后到停止只执行一次的程序该放在哪里呢?
- JBoss7.1 启动项目的时候报错了,但在tomcat下却没有问题!!
- spring aop获取参数
不然对象你以为是一堆没用的数据构成的?比如
class Test {
Object o = new Object();
}那么你new一个Test对象,这个对象的几乎所有信息都在堆区的,包括他的成员o这个引用,而o指向的对象可能在堆区的其他地方。
class A{
Object object = new Object();
}那A的实例 new A() 实际上是存在堆里的, 这个实例里有个Object引用, object实例也存在堆里。
这句话有些矛盾的,我先更正一下。如果称为实例变量,意思就是对象的成员,比如对象a的属性p。实例变量是不能为类的所有实例共享的,只在当前实例(对象)有效。如果要被类的所有实例共享,就称为类变量。
解释你的问题:
假如object是实例变量,那么会放在堆里;
假如object是类变量,那么类放在哪里,这个变量就放哪里——类放在方法区,不是堆也不是栈;
局部变量放堆里。