1. 概要
Java には、スタック メモリとヒープ メモリの 2 種類のメモリがあります。
2. ヒープ メモリ
1. ヒープ メモリとは何ですか?
ヒープ メモリは Java メモリの一種です。その機能は、Java でオブジェクトと配列を保存することです。新しいオブジェクトを作成するか配列を作成すると、ヒープ メモリのセクションが開かれます。ストレージ。
2. ヒープ メモリの特徴は何ですか?
最初のポイント: ヒープは実際にはパイプラインとみなすことができ、チケットを購入するために列に並ぶ状況に似ているため、ヒープ メモリの特性は次のとおりです: 先入れ、先出し、最後in、last out、つまり、あなたが最初に並びます、わかりました、あなたが最初にチケットを買います。
2 番目のポイント: ヒープはメモリ サイズを動的に割り当てることができ、実行時に動的にメモリを割り当てるため、ライフタイムを事前にコンパイラに伝える必要はありませんが、欠点は、メモリを動的に割り当てる必要があることです。実行時に割り当てられるため、アクセス速度が遅くなります。
3. 新しいオブジェクトはどのようにヒープに割り当てられるのでしょうか?
Java 仮想マシンの自動ガベージ コレクターによって管理されます。
無料ビデオ チュートリアルの共有: Java ビデオ チュートリアル
3. スタック メモリ
1. スタック メモリとは
スタック メモリこれは Java の別のタイプのメモリであり、主に基本型変数やオブジェクト参照変数などのプログラムを実行するために使用されます。
2. スタックメモリの特徴
第一点: スタックメモリはミネラルウォーターのボトルのようなもので、何かを入れると最初に入れたものは底に沈み、特徴としては、先入れ後出し、後入れ先出しです。スタック内のデータのサイズと有効期間は一定でなければなりません これは確実ですが、柔軟性に欠けます
3. スタック メモリ割り当てメカニズム
スタック メモリは一次キャッシュと呼ばれ、自動的にリサイクルされますガベージ コレクターによる
#4. データ共有
例:
int a = 3; int b = 3;
処理の最初のステップ:
1. コンパイラーは最初に int a = を処理します。 3;
2.変数 a
3 への参照を作成します。スタックを検索して、値 3
4 があるかどうかを確認します。見つからない場合は、3 を格納します。 a は 3
2 番目のステップの処理:
1 を指します。b=3
2 を処理します。変数 b
3 への参照を作成します。それを見つけます。それを直接割り当てます。
3 番目のステップは変更です:
Next
a = 4;
上記のメソッドと同じ
a の値が変更され、a は次のポイントを指します。 4 となり、b の値は変わりません。
PS: 2 つのオブジェクトがある場合は異なります。オブジェクトは同じ参照を指します。一方が変更されると、他方も変更されます。4. スタックとヒープの違い
JVM はスタックベースの仮想マシンであり、新しく作成されたスレッドごとにスタックを割り当てます。つまり、Java プログラムの場合、その動作はスタックの動作によって完了します。スタックはスレッドの状態をフレームに保存します。 JVM はスタック上で 2 つの操作 (フレーム単位でのプッシュ操作とポップ操作) のみを実行します。
相違点:
1. ヒープ メモリは、new によって作成されたオブジェクトと配列を保存するために使用されます。
2. スタック メモリは、メソッドやローカル変数などを格納するために使用されます。
3. ヒープは先入れ、先出し、後入れ、後出しです。
4. スタックは後入れ、先出し、先入れ、後出しです。
同じ点:
1. どちらも Java メモリの一種です。
2. システムは自動的にリサイクルしますが、ヒープ メモリの場合は、通常、開発者が自動的にリサイクルします。
その他の関連記事とチュートリアルを共有します:
Java ゼロベースの概要以上がJavaのヒープメモリとスタックメモリの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい
