如果程序是放在服务器上运行的,静态的方法或静态的成员变量会不会常驻内存?造成服务器的内存被长期占用而影响速度之类的事情呢?   比如有很多类都调用了Test类的静态成员变量或静态方法。是不Test类第一次被调用时分配静态成员和静态方法的内存空间。其他类再调用Test类的静态成员或方法时是否内存中已经存在了?还是再去分配一次内存?那又是何时回收Test类的静态变量和方法? 
  不好意思哦。表述不太清楚。非常的困惑。望高人指点迷津:)

解决方案 »

  1.   

    http://blog.csdn.net/hustli/archive/2003/08/03/19384.aspx
    看看这篇文章,虽然是C++的,但是应该是一样的
      

  2.   

    比如有很多类都调用了Test类的静态成员变量或静态方法。是不Test类第一次被调用时分配静态成员和静态方法的内存空间。其他类再调用Test类的静态成员或方法时是否内存中已经存在了?还是再去分配一次内存?那又是何时回收Test类的静态变量和方法? lz是否理解静态的意思呢?
    静态成员是该类的所有对象共有的,就是类加载器加载改类的时候就已经在内存中了。创建的该类的所有对象都可以直接访问那块内存去读取静态信息。也就是说,它只存在一份,不存在拷贝。
      

  3.   

    6楼概念讲的不错.我想请您从内存的角度来讲下静态成员和静态方法.何时创建.何时回收?程序跑在WEB项目里.