概要Permanent領域クラス情報staticメンバースタック領域ローカル変数メソッド呼び出し時の戻りアドレスヒープ領域インスタンスアップキャスト時の動作ダウンキャスト時の動作ヒープ領域内のオブジェクト移動(Java)概要プログラムで使用するデータやコードは種類に応じて以下の領域に分けて保存される。Permanent領域クラス情報ロードしたハードディスク等のクラスファイルが保存される。JAVA等ではメタデータに変換される。staticメンバークラスのデータの内、staticで宣言された変数はここに保存される。インスタンス変数はインスタンス毎に値が異なるが、static変数はクラスに付き共用で1つ。スタック領域ローカル変数メソッド内で宣言される変数はここに保存される。メソッドの処理が終了すると別のメソッドに上書きされる。メソッド呼び出し時の戻りアドレスメソッドから別のメソッドを呼び出す際に戻り先のアドレスをここに保存しておく。メソッドの処理が終了すると別のデータに上書きされる。ヒープ領域インスタンスインスタンスを作成する毎にここに保存される。参照が終了するとガベージコレクタの消去の対象となる。するメモリサイズが事前に分からない場合のメモリ領域の確保方式。ヒープ領域に大きめのサイズを確保して割り当てる。変数の使用が終わった場合に自分で解放処理を行う必要がある。解放しない場合、プロセスが終了するまでその領域を使用する事はできず、コンピューター全体の使用可能なメモリ領域が徐々に減少し、最終的にシステムダウンする(=メモリリーク)。お問い合わせお気軽にお問い合わせください。