写一个class程序,其中的实例字段,实例方法,类变量,类方法都放在内存的那个位置?方法
的局部变量存在那个位置。初始化的实例变量及局部变量的值放在哪个位置,总之,谁能
告诉一个典型的java程序各个部分对应的内存位置?
是方法区中,还是堆中,还是局部变量区中,还是操作数栈中?

解决方案 »

  1.   

    看JLS和虚拟机规范,里面有你想知道的所有东西
      

  2.   

    很全面,另外注意,栈不只一个,Java进程会为每个线程维护一个自己的栈,用来放线程自己的局部变量。
      

  3.   

    class放代码区
    一般引用位于栈
    静态引用在静态区
    方法内局部变量引用放方法栈中
    对象也就是实例都放堆中、如果没有一个有效引用指向这个实例那么它随时可能被gc
      

  4.   

    局部变量放在栈中,静态变量和字符串常量放在data segment中
    只有动态生成的才放在堆中(new 出来的东西)
      

  5.   

    局部变量放在栈中,静态变量和字符串常量放在data segment中
    只有动态生成的才放在堆中(new 出来的东西)
      

  6.   

    局部变量放在栈中,静态变量和字符串常量放在data segment中
    只有动态生成的才放在堆中(new 出来的东西)
      

  7.   

    所有的局部变量放在栈中
    所有new出来的东西都在堆中
    静态的成员变量放在静态区,