問題タブ [weakhashmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1554 参照

java - WeakHashMap-その目的は何であり、どのように正しく使用する必要がありますか

今日、私はオーバーキャッシュ の使用法について議論したこのブログ投稿を見つけました。WeakHashMap値ではなくキーが弱参照として格納され、参照が存在しなくなると、キーと値のペア全体がWeakHashMapから削除されるという事実に興味をそそられました。したがって、これにより次のことが発生します。

WeakHashMapその場合、どのシナリオがクラスを利用するのか興味がありますか?

0 投票する
1 に答える
675 参照

java - Java SoftHashMap の実装

Javaと. SoftHashMap_ WeakHashMap に関する Java ドキュメントでは、キーは値ではなく弱参照であると書かれています。基礎となる の put および pull 機能に何が使用されるのか疑問に思っていました。put は次のように機能すると想定しています。これが正しい場合、キーのエントリはどのように検出されるでしょうか。SoftReferenceHashMaphashcode()HashMapWeakHashMaphashMap.put(new WeakReference(key), value);

値がWeakReferenceキーではなく a でラップされた方がよいのではないでしょうか?

0 投票する
2 に答える
825 参照

java - 値にキーへの唯一の強い参照が含まれている場合、WeakHashMap のエントリは収集されますか?

一部のデータを有効期間中キーに関連付ける必要があるため、WeakHashMap. ただし、さらに、対応する値でキーを取得する必要があります。これを行う簡単な方法は、値を作成するときに参照を保持することです。

もちろん、Valueプログラムで使用している間keyは消えません。ただし、キーまたはその値への参照がマップ外になくなった場合、ガベージ コレクションは行われますか? それとも、値に残っている強力な参照がそれを妨げていますか?

0 投票する
2 に答える
440 参照

java - Java、オブジェクトをソフトリファレンスに変換

ソフトリファレンスを含むweakhashmapにデータオブジェクトを配置する必要があります。「Drawable」オブジェクトをソフトリファレンスに変換するにはどうすればよいですか?

tempPulledは、ソフトリファレンスである「sPulled」を配置する必要があります

0 投票する
1 に答える
274 参照

java - WeakHashMapのクローン/コピー方法は?(ディープコピー)

私はHashMapを持っていて、クローン関数を使用してディープコピーを作成しました。しかし、メモリ管理を試すために、これをWeakHashMapに切り替えました。

私はまだこのクローン関数を実行したいのですが、WeakHashMapのメソッドの一部ではありません。WeakHashMapを別のマップに効率的に複製するにはどうすればよいですか?キーを追加したり、既存のキーをチェックしたりするループを実行できると思いますが、それが最善の方法かどうかはわかりません。

0 投票する
1 に答える
2597 参照

java - WeakHashMapと強く参照される値

Javadocsは、「キーが破棄されると、そのエントリはマップから効果的に削除されます」と述べています。

しかし、そのようなエントリをときどき削除する別のスレッドがない限りMap.Entry、値オブジェクトはマップによって強く参照されませんか?ただし、そのようなスレッドは実行されていないため、getメソッド呼び出しのみがそのようなエントリを一度に1つずつ削除できます。

私はほとんどいつもWeakHashMap<K, WeakReference<V>>その理由で使用します。なぜ彼らはそのデフォルトの振る舞い-弱い参照としての値も作らなかったのでしょうか?

0 投票する
6 に答える
19818 参照

java - WeakHashMapの例

WeakHashMapを次のように作成します

ここで、empはEmployeeオブジェクトです。ここで、emp = nullを実行するか、empオブジェクトが参照されなくなったとすると、エントリはWeakHashMapから削除されますか?つまり、Mapのサイズはゼロになりますか?
また、HashMapの場合はその逆になりますか?
WeakHashMapの私の理解は正しいですか?

0 投票する
1 に答える
243 参照

java - Java:weakhashmapはキーが「廃止」されているかどうかをどのように判断しますか?

この鍵が古くて捨てる準備ができていることをどうやって知るのでしょうか? なぜ文字列リテラルなのですか?

例えば、

A() が戻るとすぐに「p」キーがなくなるということですか?

0 投票する
4 に答える
6810 参照

java - 弱いハッシュマップはどのようにしてオブジェクトをガベージコレクションすることを知っていますか?

WeakHashMap最近、Javaのデータ構造について知りました。

ただし、それが何を意味するのかわかりません。通常使用されなくなったときにマッピングをガベージコレクションします。プログラムでキーを使用しなくなることをデータ構造はどのようにして知るのですか?長い間キーを参照しないとどうなりますか?

0 投票する
2 に答える
1686 参照

java - Java: 弱い参照を持つスタック

Java には、弱参照をキーとして格納する WeakHashMap と呼ばれるデータ構造があります。弱い参照がメモリから取り出されるたびに、エントリはマップから削除されます。

弱参照を格納している Stack や Set などのデータ構造がある場合、弱参照がメモリから取り出されると、それらのエントリは自動的に削除されますか?

以下は、弱参照を格納する Stack の例です。