使用弱哈希图实际上通常是一个坏主意。首先,很容易出错,但更糟糕的是,它通常用于实现某种缓存。
这意味着以下内容:您的程序在一段时间内运行良好且性能良好,在压力下,我们分配了越来越多的内存(更多的请求=更多的内存压力=可能会有更多的缓存条目),这随后导致产生GC。
现在,突然的,当您的系统处于高负荷状态时,您不仅会获得GC,而且会在最需要时失去整个缓存。这个问题不好玩,因此您至少必须使用大小合理的硬引用LRU缓存来缓解该问题-
那时您仍然可以使用weakrefs,但只能作为附加帮助。
我已经看到多个项目被该“ bug”击中。



