ThreadLocalによるメモリリークの仕組み

発生要因 ThreadLocalMap のキーは弱参照であり、値は強参照である。 あるスレッドが長期間実行され続ける場合、値が特定のオブジェクトを強く参照していると、そのオブジェクトはガベージコレクションの対象にならず、メモリリークを引き起こす可能性がある。 解決策 簡単で、ThreadLocal を使用し終えたら即座に remove() メソッドを呼び出してメモリを解放することが望 ...

6月24日 23:19 投稿

Java仮想マシン性能チューニングの核心概念と実践ガイド

JVMメモリ構造の全体像 Javaアプリケーションのパフォーマンスを改善するには、まずJVMがどのようにメモリを管理しているかを理解する必要がある。JVMのメモリ領域は大きく分けて「ヒープ」「スタック」「メソッドエリア」「プログラムカウンタ」「ネイティブメソッドスタック」の5つに分かれる。特にチューニングの主戦場となるヒープ領域は、Young Generation(Eden + Su ...

6月24日 01:05 投稿