Ami*_*pta 2 java jvm interface static-members
根据静态成员的概念,当第一次调用它的类时,它们被创建/加载到内存中.它们在该类的所有实例中都很常见.意味着它们不会被重新创建或重新初始化等.此外,它们只能通过类名访问.不需要为该类创建对象来访问它们.
现在我的问题是;
1)静态成员只有在定义它们的类本身被收集时才被垃圾收集; 这反过来只有在收集定义的ClassLoader时才会发生.这在Web应用程序容器和插件体系结构中很常见.
2)是的,定义大量静态数据可能是个坏主意.但它就像很多其他的东西:如果你需要它会很好,如果你滥用它会很糟糕.只需使用常识.
3)同样,定义一千个字符串数组的接口将是一个坏主意,但当然这通常不是人们所做的.只需使用常识.一般来说,没有(与内存相关的)理由来避免静态变量.