threadLocalMapレビュー

THREADLOCAL 和threadLocalMap

用途は:に追加threadlocalMapオブジェクトは、同じスレッドのスレッドはどこにでも出することができ

理解します:

各スレッドTHEADのオブジェクトは、threadLocalMapを持つオブジェクトはTHREADLOCAL複数有することができるオブジェクトを

threadLocalMap クラスはTHREADLOCALある静的内部クラスのクラスはTHREADLOCAL属するTHREADLOCALにクラスを、としないオブジェクト

THREADLOCALでthreadLoalMap作成するには、クラスのメソッドのオブジェクトを

threadLocalMap エントリの要素オブジェクトキーのはTHREADLOCALあるターゲット値記憶されるデータの必要性、及びTHREADLOCAL複数有することができるオブジェクトを

エントリキーが弱参照であるガベージコレクタがクリアそうする前に、ThreadLocalのオブジェクト(弱参照は、次のガベージコレクションの前に発生するまで存続するオブジェクト)項目オブジェクトキーを表示するキーヌルエントリが、値ではなく、共有メモリを行いますリリースされる、メモリリークは、(提出されたメモリ領域を解放しない)、最終的にメモリオーバーフローにつながる(何のメモリが新しいオブジェクトに割り当てることができない)発生する可能性があります。ThreadLocalクラスGET()、SET()、remove()メソッドは、回復実施している キーは ヌル、 エントリ 値メモリを占有します。したがって、タスクは、スレッド使用しない場合、メモリリークを防止するために、上記のいずれかであり得る後端ThreadLocalのオブジェクトを、3つのメソッドを呼び出します。スレッドが死ぬと実際には、個人的な理解は、すべてのメモリを解放します。

であること//注意、ウェブので、ユーザ情報が存在する場合はTomcatのスレッドの再利用、threadLocalMapオブジェクトを、要求が終了後に空にしなければなりません

添付ファイル:

強力な参照は: メモリを回復することはできません。

ソフト参照: とき内蔵メモリーの十分な回復。

弱参照: ガベージコレクションの前にメモリに生存。

おすすめ

転載: www.cnblogs.com/csuliujia/p/12566344.html