Java의 WeakHashMap 및 캐싱 : 값이 아닌 키를 참조하는 이유는 무엇입니까? Java의 WeakHashMap 은 종종 캐싱에 유용한 것으로 인용됩니다. 약한 참조가 값이 아닌 맵의 키로 정의된다는 것은 이상하게 보입니다. 내 말은, 캐시하고 싶은 값이고, 캐시 외에 다른 누구도이 값을 강력하게 참조하지 않으면 가비지 수집을 원합니다. 키에 대한 약한 참조를 유지하는 데 어떤 방식으로 도움이됩니까? 를하면 ExpensiveObject o = weakHashMap.get("some_key")호출자가 더 이상 강력한 참조를 보유하지 않을 때까지 캐시가 'o'를 유지하기를 원하며 문자열 개체 "some_key"에 대해서는 전혀 신경 쓰지 않습니다. 내가 뭔가를 놓치고 있습니까? WeakHashMap..