OOPプログラミング言語と手続き型言語とのメモリ利用の違いを理解したい。手続き型言語では、明示的なC malloc
のようにヒープ使用量を定義する必要がありながら、オブジェクトが自動的にheap
に格納されている、それは本当のことですOOP言語と手続き型言語とのメモリ使用量の相違点
- :具体的には、我々は例として
Java
とC
約話していると仮定しましょう? - Cでプログラムを書くと、
OS
は、ヒープとスタックスペースを含むこのプログラムの仮想ページを作成します。私がコード内でmalloc
を使用しないと、これは私のプログラムが割り当てられたヒープを利用していないことを意味します。 Stack
はローカル変数と関数呼び出しアドレスを格納するために使用されるため、プログラムがスタック領域を使い果たした場合、OS
はこのプログラムのページングサイズを拡張するか、単にヒープを拡張子として使用しますか?
あなたはどの言語について話しているのですか? *すべての必須言語や*すべての*オブジェクト指向言語についての一般的な記述は困難です。たとえば、C++は上に述べたいくつかのステートメントに対する主要な反例です。 – EJoshuaS
ありがとうございます。私は質問を更新しました – Kris