THREADLOCAL 和threadLocalMap :
用途は:に追加threadlocalMapオブジェクトは、同じスレッドのスレッドはどこにでも出することができ
理解します:
各スレッドTHEADのオブジェクトは、threadLocalMapを持つオブジェクトはTHREADLOCAL複数有することができるオブジェクトを
threadLocalMap クラスはTHREADLOCALある静的内部クラスのクラスはTHREADLOCAL属するTHREADLOCALにクラスを、としないオブジェクト
THREADLOCALでthreadLoalMap作成するには、クラスのメソッドのオブジェクトを
threadLocalMap エントリの要素オブジェクトキーのはTHREADLOCALあるターゲット値記憶されるデータの必要性、及びTHREADLOCAL複数有することができるオブジェクトを
エントリキーが弱参照であるガベージコレクタがクリアそうする前に、ThreadLocalのオブジェクト(弱参照は、次のガベージコレクションの前に発生するまで存続するオブジェクト)項目オブジェクトキーを表示するキーヌルエントリが、値ではなく、共有メモリを行いますリリースされる、メモリリークは、(提出されたメモリ領域を解放しない)、最終的にメモリオーバーフローにつながる(何のメモリが新しいオブジェクトに割り当てることができない)発生する可能性があります。ThreadLocalクラスGET()、SET()、remove()メソッドは、回復実施している キーは ヌル、 エントリ 値メモリを占有します。したがって、タスクは、スレッド使用しない場合、メモリリークを防止するために、上記のいずれかであり得る後端ThreadLocalのオブジェクトを、3つのメソッドを呼び出します。スレッドが死ぬと実際には、個人的な理解は、すべてのメモリを解放します。
であること//注意、ウェブので、ユーザ情報が存在する場合はTomcatのスレッドの再利用、threadLocalMapオブジェクトを、要求が終了後に空にしなければなりません
添付ファイル:
強力な参照は: メモリを回復することはできません。
ソフト参照: とき内蔵メモリーの十分な回復。
弱参照: ガベージコレクションの前にメモリに生存。