我正在开发一项监控计算机的服务。可以通过WebGUI将计算机添加到监视中或从监视中删除。我基本上将报告的数据保存在各种map中,例如Map.现在收集的数据越来越多,数据结构也越来越复杂(包括相互引用的计算机),我需要一个概念,了解将计算机从监控中移除时会发生什么。基本上我需要删除已移除计算机报告的所有数据。最KISS-like方法是从内存中手动删除数据,例如publicvoidonRemove(Computercomputer){temperatures.remove(computer);//...}每当我添加功能时都必须更改此方法:-(我知道Java有一个WeakHashMap,所以
弱引用的使用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作。您什么时候需要使用WeakHashMap或WeakReference以及它是如何使用的? 最佳答案 Oneproblemwithstrongreferencesiscaching,particularwithverylargestructureslikeimages.Supposeyouhaveanapplicationwhichhastoworkwithuser-suppliedimages,likethewebsitedesigntoolIwork
弱引用的使用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作。您什么时候需要使用WeakHashMap或WeakReference以及它是如何使用的? 最佳答案 Oneproblemwithstrongreferencesiscaching,particularwithverylargestructureslikeimages.Supposeyouhaveanapplicationwhichhastoworkwithuser-suppliedimages,likethewebsitedesigntoolIwork