ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(3/3 ページ) 【第五章】机上(シミュ)る この手の机上シミュレーションでは、問題をどれだけ抽象化できるかが腕の見せどころとなる。3つの抽象化観点を紹介しよう。 シミュレーション対象プログラムの抽象化 プロセスの抽象化 データの抽象化 ■【1】シミュレーション対象プログラムの抽象化 シミュレーション範囲を限定し、プログラムの各実行ステップをひとまとめにしてブロック化する。それにより、シミュレーションの探索範囲を小さくできる。このときのポイントは、更新される可能性のある共有情報の参照や更新を1つのブロックとし、それ以外のローカル情報の参照や更新をブロック内に含めることだ。 まずは、シミュレーション範囲を主に、先ほどの「リスト2 HashMapのtransferメソッド」の9~13