想问下JAVA的类实例在对内存里具体怎么分配的,怎么得到各个属性的
class test
{
String s1;
String s2;
int i1;
int i2;
}
比如test t1=new test();
类实例数据存在了堆内存中,
比如t1.s1;就想知道那怎么获得具体的属性的值呢,是不是在堆里的存储是有结构的,或堆里也存放着对具体数据的地址?

解决方案 »

  1.   

    具体存储分配由虚拟机管理了,程序员只需要按照Java的语法规则使用成员方法或成员变量就可以了。
    内容的分配由程序显式指定,释放由垃圾收集器管理。
      

  2.   

    stack 中放了对象的引用,指向heap中的对象, heap 中 放了对象的属性、方法。 
      

  3.   

     不对, 方法是保存在 stack 中的...
      

  4.   

    堆内存用来存放由new创建的对象和数组。 
    在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配