Java内存空间的问题 例如A是一个类A a=new A();A b;b=a;请问,给b分配空间了吗?内存中是占1个A类大小的内存,还是占2个A类大小的内存? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得应该是 先给a分配一个空间然后声名b然后 给b分配空间, 引用a 一共有三个空间,一个A类大小的内存空间,两个句柄空间a和b。a和b都是对象句柄(类似c的指针),其中保存一个地址,指向实际的对象所占内存空间的起始地址。b=a后,只是把两个句柄指向同一个地址而已。 A a=new A();//引用a放在栈中,new A()放在堆 中,a->new A()A b;//只申明了个b(放在栈中b=a; //b指向a所指向的内存地址 b->new A() 在堆上只分配了一个A类大小的空间,在栈里分配了a,b的变量的存储地址用的空间 求一SQL 问个关于Java和OpenOffice的问题 Java IDE工具JawaBeginer发布1.4版本了。增加好多好用的功能。 关于"后绑定"的问题 关于Servlet的环境设置问题 问一个关于java最基础的问题? 为什么显示结果会是1.099999999999999999999啊? 紧急求救:求助如何用java 把word 文档存入Sql 数据库? 初学java,请问其函数在哪查?就象vc的函数可以在msdn中查一样。。 Iterator接口有什么用? 自定义类里数组的赋值问题 [求助]如何比较高效的访问远程数据库?
然后声名b
然后 给b分配空间, 引用a
一个A类大小的内存空间,
两个句柄空间a和b。a和b都是对象句柄(类似c的指针),其中保存一个地址,指向实际的对象所占内存空间的起始地址。
b=a后,只是把两个句柄指向同一个地址而已。
A b;//只申明了个b(放在栈中
b=a; //b指向a所指向的内存地址 b->new A()