如果程序是放在服务器上运行的,静态的方法或静态的成员变量会不会常驻内存?造成服务器的内存被长期占用而影响速度之类的事情呢? 比如有很多类都调用了Test类的静态成员变量或静态方法。是不Test类第一次被调用时分配静态成员和静态方法的内存空间。其他类再调用Test类的静态成员或方法时是否内存中已经存在了?还是再去分配一次内存?那又是何时回收Test类的静态变量和方法?
不好意思哦。表述不太清楚。非常的困惑。望高人指点迷津:)
不好意思哦。表述不太清楚。非常的困惑。望高人指点迷津:)
看看这篇文章,虽然是C++的,但是应该是一样的
静态成员是该类的所有对象共有的,就是类加载器加载改类的时候就已经在内存中了。创建的该类的所有对象都可以直接访问那块内存去读取静态信息。也就是说,它只存在一份,不存在拷贝。