質問: JAVAのオブジェクト指向を勉強・練習している者です。説明が下手ですいませんが、 「スッキリわかるJava入門 第2版 (スッキリシリーズ) 」の(P91の)「クラス型と参照」にて > > インスタンスとは「ヒープの中に確保されたメモリ領域」 > > > と書かれていますが、「**ヒープ**」というのは**どういうことなのかよくわかりません。** この参考書に書いてあるのは、「**ヒープ**」とは > > Javaのプログラムを実行する際に、JVMが大量にメモリ領域(通常は数百MB~数GB)を使って準備するもの > > > と書かれているんですが、**どういうことなのかよくわかりません。** **ヒープ**って何なんですか? できればわかりやすく教えてくれませんか? よろしくお願いします。
回答: >>インスタンスとは「ヒープの中に確保されたメモリ領域」 >>Javaのプログラムを実行する際に、JVMが大量にメモリ領域(通常は数百MB~数GB)を使って準備するもの おっしゃる通り、用語説明が巡回していますね。ただ、この文を読むだけでは特にヒープの仕組みを知る必要はないです。単に「コンピュータのメモリ領域の一部」とだけ認識すれば十分でしょうね。 (まあ、強いて書くならばスタック領域と別の種類のメモリ領域もあるわけで、著者がこちらとは別物であることを強調したいのかもしれませんね。ただし、この違いを理解するならばjava VMについての専門知識が必要となります。)