给定一个仅在程序设置中使用的假设实用程序类:
class MyUtils {
private static MyObject myObject = new MyObject();
/*package*/static boolean doStuff(Params... params) {
// do stuff with myObject and params...
}
}
Run Code Online (Sandbox Code Playgroud)
当myObject不再被使用时,它会被垃圾收集,还是会在程序的生命周期中保留?
可能重复:
java中的静态分配 - 堆,堆栈和永久生成
它的一个小混乱...定义静态到类,方法和变量.在这三种情况下,因此分配内存.?我的老板熟悉C,他说只有变量在堆内存中,其余的(静态类和静态方法)将保留在主内存中.是真的吗?任何解释.?
在android中使用静态类和静态方法是一个最佳实践?
类的所有对象共享静态变量.但是什么时候为静态变量分配内存?是为类创建第一个对象的时候?或者甚至在创建类的任何实例之前发生了什么?实例变量也是在运行时分配的内存.静态变量的内存是在运行时还是编译时分配的?