静态类是在使用一次后与它的静态变量一起保存在内存中,还是在我每次使用它时与每个变量一起实例化?
为了让它更真实,让我们创建一个例子。
假设我想为我的系统制作一个不使用单例的语言词典。
我的静态语言类有 2 个静态变量:
package server;
import java.util.Locale;
import java.util.ResourceBundle;
public abstract class Language {
private static Locale language = new Locale("en", "GB");
public static ResourceBundle dictionary = ResourceBundle.getBundle("dictionary_"+Language.language, Language.language);
public static void changeLanguage(Locale language){
Language.language = language;
Language.dictionary = ResourceBundle.getBundle("dictionary_"+Language.language, Language.language);
}
}
当我在系统中使用它来获得像这样的 tekst 值时:
System.out.println(Language.dictionary.getString("system.name"));
整个类和字典静态变量会一直留在内存中,直到我再次使用它,还是会再次创建它,并且每次我这样做时都会再次占用我的内存?