java的对象是在堆中的,存放的具体内容包括什么?
是不是只是实例变量?实例方法是不是也存放在其中?jvm上说,所有方法的字节码都放在
方法区而不是堆中,那么一个对象使用它的实例方法怎么调用?

解决方案 »

  1.   

    举个例子,Student s = new Student("zhang san", 20);这个时候,在堆中开辟了块内存空间,用来存放s对象,至于s里存放的什么,抽象点理解,就是我传进去的参数,name还有age的值。实例变量是存放在code segment中的,实例方法也是存放在code segment中。当一个对象创建出来后,要调用它的实例方法时,就会去code segment中去调用,好象一个引用,对象的这个引用指向了code segment中的方法。
      

  2.   

    基本上JAVA中引用类型的东西都放堆空间,基本类型都在栈空间
      

  3.   

    知识点一:new出来的东西全部在堆里