前回(OutOfMemoryError回避のためのJavaコーディング – 前編)に引き続き、OutOfMemoryErrorの話題。前回は、OutOfMemoryErrorを3パターンに分けた。 (A)サイズオーバー型 巨大な領域確保によって一気にヒープの最大サイズをオーバー (B)メモリリーク型 開放されないオブジェクトが溜まり続けることで使用中メモリが徐々に増加し、メモリが枯渇 (C)マルチスレッド型 長時間処理により”死んだ”スレッドがメモリを食い尽くす 今回は(C)マルチスレッド型に関連するOutOfMemoryErrorを紹介する。 (C)”死んだ”スレッドがメモリを食い尽くす – マルチスレッド型 HTTPリクエストの処理に長時間を要する場合、そのリクエスト処理中で確保したメモリ領域が開放されずに残されたままとなることがある。 長時間かかる処理といえば、大量データの処理や複雑
