gpt4 book ai didi

java - 如何在java中引用hashmap/arraylist null来释放所有内存

转载 作者:行者123 更新时间:2023-12-03 23:11:40 25 4
gpt4 key购买 nike

HashMap.clear()ArrayList.clear() 是释放内存来缩小大小还是保持不变?

如何使 arraylist 或 hashmap 引用null 以允许 gc。

最佳答案

如果您clear() 您的MapCollection,那么垃圾收集器可以收集其中包含的对象,只要因为它们没有在其他地方被引用。与删除对 MapCollection 本身的所有引用相同(通过将其设置为 null 无处不在):只要 Map,例如,是唯一“知道”这些引用的对象,删除对 Map 本身的所有引用将允许垃圾收集器收集 Map,因此也其中包含的对象(当然,只要它们没有在其他地方被引用)。

但是仅仅清除 Map 并不能保证垃圾收集器会真正运行——它只是可以从内存中清除这些对象,如果它运行的话。但通常你不应该为此担心。因此,您很可能不会注意到调用 clear() 会直接和立即获得内存,而只是因为垃圾收集器并非一直运行。

关于java - 如何在java中引用hashmap/arraylist null来释放所有内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31724480/

25 4 0