6-ThreadLocalの+強い弱い仮想高並行性をマルチスレッド

ThreadLocalの

ローカル変数を通します。スレッド独自の変数を所有するスレッド。

セット()。
実際に(にThread.currentThread()。地図(ThreadLocalの格納され 、データ)) 現在のスレッドのマップ。したがって、現在のスレッドのみを取得し、スレッド間で互いに分離することができ

ThredLocalMapがThreadLocalの格納され、ThreadLocalMapキーは、メモリリークを防止するための弱参照(GCが自動的にクリア)です。回避GCは自動的にキー弱参照をクリアした後、速やかにThreadLocalの使用後に削除する必要があり、メモリリークが生成されます

ThreadLocalの目的:
同じ接続を確保するための宣言的トランザクション

強い弱いはfalse

[エントリのThreadLocalMapが弱い参照弱参照を継承し、経験は、GC回収する】
メモリが十分にごみ収集ないSoftReference、:ソフト参照。これは、バッファリングのために使用することができる
限り回復がGCされるように、弱い参照:弱参照を。限り強い参照が回収されるように、弱参照は(容器内)を回収しなければならない
ファントム参照:phantomReferenceを、主にJVMに。仮想基準オブジェクトが回収された場合、復旧情報は、キューのコンストラクタに渡されます、
NIO DirectByteBufferダイレクトメモリは、JVMが直接管理することはありませんが、オペレーティングシステム(外部のヒープメモリ)管理によって管理されます。基準仮想キューオブジェクトによって回収されていますが通知

公開された25元の記事 ウォンの賞賛0 ビュー581

おすすめ

転載: blog.csdn.net/RaymondCoder/article/details/105098996