请问:
1,可不可以 这样理解:
一个类在装载入内存的时候,并没有给它分配内存空间,只有用new生成一个对象的时候,才在堆中给它分配内存空间
而静态成员在装载的时候就在栈中给它分配了内存空间
2,编译和运行是不是都得把程序装载进内存后再编译和运行

解决方案 »

  1.   

    对于问题2,JAVA是解释执行的,而不是LZ所说的编译和运行
      

  2.   

    1 类静态属性在类装载的时候,已经分配地址。且其静态代码块也会执行。
    2 编译器要把java编译成.class文件,当然需要用到内存。 执行就不用说了。new 只会给类一个新的空间,并分配那些非静态的属性。静态属性和方法都是公用的,不会额外占用内存空间!
      

  3.   

    JAVA是解释执行的,而不是像C和其它的语言是编译和运行