ソケットを介して Protocol Buffers を使用してノード ツリーを取得する Scala サーバーがあり、各ノードに追加のデータをアタッチする必要があります。
シングル スレッド コンテキストで、ノード ツリーと関連データの両方で強い参照が同時に削除される場合 (スコープ外になるため)、WeakHashMap を使用するよりも Google Guava の MapMaker を weakKeys() で使用する理由はありますか? ? MapMaker では同期アクセスに料金がかかるようですが、この場合は必要ありません。
余談ですが、MapMaker が等価設定へのアクセスを許可し、弱い参照やソフト参照を気にせずに参照の等価性を選択できるようにすると便利です。