Javaのヒープとスタックとは何ですか?

Javaは、主にWebページおよびそれらを表示するブラウザの機能を強化するための小さなプログラムを提供するために使用されるプログラミング言語です。 「ヒープ」と「スタック」は、コンピュータのメモリを整理する2つの方法であり、Javaプログラミング言語は両方を使用します。

ヒープ

メモリは、アクセスされた順番に従って編成されています。 ヒープメモリには順序がありません。 それは使用順のない一連のハト穴のようなものです - 真ん中のスロットは最初または最後のスロットの前に値を取得するかもしれません。 データが異なるスロットに書き込まれたり削除されたりすると、占有されているメモリがギャップによって分割されます。 ヒープメモリの各スロットにはアドレスがあり、そのアドレスへの他の形式のインデックスを介してのみアクセスできます。

スタック

スタックとキューには正確な順序があります。 キューでは、スーパーマーケットでのチェックアウトのキューと同じように、最初に入力するデータが先出しです。 最後のものが先出しであるので、スタック方法はそれがサービスを待っている人々に適用されるのであれば非常に不公平であると考えられるでしょう。 スタックは、後入れ先出しを表す略語LIFOで知られています。 オフィスの給紙トレイを想像してください。 誰かが給紙トレイ内のファイルの上にファイルを置き、会社員がそのファイルを給紙トレイの上から取り出して最初に作業します。 それがトレイに置かれる最後のファイルでした。 それがスタックの動作方法です。

コンピュータメモリ

プログラムを実行するために使用されるコンピュータメモリは、ランダムアクセスメモリ、またはRAMと呼ばれます。 これはコンピュータの思考空間であり、3つのセクションに分かれています。 メモリの「キュー」セクションはありませんが、コンピュータプログラムが格納されているコードセグメントがあります。 コンピュータはプログラムを1行ずつ実行するので、これはキューのように機能します。 他の2つの領域はスタックとヒープです。

変数

他のプログラミング言語と同様に、Javaはデータを保持し、何らかの方法でそれを操作する必要があります。 プログラムでデータを保持するために使用される媒体は、変数と呼ばれます。 変数は名前と型を持ち、それから値を取得します。 Javaプログラムは、それに含まれるデータにアクセスするために変数の名前を参照します。

関係

プログラマがデータ型で変数を宣言すると、その情報はメモリのスタックセクションに格納されます。 値がその変数に入れられると、その値はヒープメモリに格納されます。 スタックメモリは、その値が保持されているヒープメモリのセクションのアドレスを保持します。 スタックメモリはプログラムの実行中はその値を保持します。 変数名と型、およびヒープ位置へのポインタを保持します。 プログラムオペレータが変数の値を変更すると、ヒープメモリ内の値はJavaプログラムの実行中に数回削除され、書き直されます。

人気の投稿