我在我的應用程序中有一個靜態地圖,當我點擊一個鏈接時它會被填充。 之後,它使大量的對象和存儲它們。現在我有一個鏈接可以清除這張地圖。從靜態Map中移除時是否收集對象垃圾?
這是我的代碼。
Hello1 hello1 = new Hello1();
hello1.setHello("Helllollo1");
Hello hello = new Hello();
hello.setHello1(hello1);
hello.setHello("Hellollo");
setMap("1", (Object)hello);
Hello1 hello2 = new Hello1();
hello2.setHello("Helllollo1");
Hello helo = new Hello();
helo.setHello1(hello2);
helo.setHello("Hellollo");
setMap("2", (Object)helo);
Hello1 hello3 = new Hello1();
hello2.setHello("Helllollo1");
Hello helo1 = new Hello();
helo1.setHello1(hello3);
helo1.setHello("Hellollo");
setMap("3", (Object)helo1);
現在我有一個方法removeMap其工作原理如下
public static void removeMap(String key){
if(map.containsKey(key)){
map.remove(key);
}
}
所以,當我要求一個密鑰這種方法將以上三種對象之後,是該對象垃圾回收與否?
垃圾收集的資格是一個很好的記錄的主題,我建議你做一些研究。您還可以將分析器附加到您的流程中,並觀察當前生活的對象的數量。 – Justin