请问HashMap.clear()或ArrayList.clear()释放内存缩小规模或大小保持不变?
如何null为gc允许arraylist或hashmap引用.
如果clear()您Map或Collection,那么垃圾回收器可以收集载于它认为,只要他们没有其他地方引用的对象.与删除对Mapor或其Collection自身的所有引用(通过将其设置为null无处不在)相同:只要Map例如,"知道"这些引用的唯一对象,删除对Map自身的所有引用将允许垃圾收集器收集Map和因此也包含在其中的对象(当然,只要它们没有在其他地方引用).
但只是清除Map并不能保证垃圾收集器实际运行 - 它只是可以从内存中清除这些对象,如果它运行的话.但通常你不应该担心这一点.所以你很可能不会注意到来自调用的直接和即时内存增益clear(),但这只是因为垃圾收集器不会一直运行.