在我的程序中,有一个场景,多个线程会在同一个 Map 上进行操作(put 和 get)。例如,线程 A 在将 key/value 放入 map 中的同时,另一个线程正在检索相同或不同 key 的 key/value。现在,如果我使我的 map 同步,那么它将成为一个大问题,所以我决定转向 ConcurrentHashMap。在这种情况下,我还有另一个复杂性,就是在一定时间(对我的应用程序未知)之后,我的应用程序不需要某些 key/value 对,因此我需要删除它们(垃圾回收),以释放内存。虽然我的程序不知道哪些键/值对不需要,但我想使用弱引用来解决这个问题。因此,如果在一段时间后无法访问该 key(字符串),它将自动被垃圾回收。我知道如何在 WeakHashMap 中执行此操作,但不知道如何在 ConcurrentHashMap 中执行此操作。请问是否有人可以告诉我如何在 ConcurrentHashMap 中使用弱引用?否则是否有其他方法可以实现上述场景?