変数には 1 語または 2 語のデータのみが含まれる場合がありますが、型が Java オブジェクトである変数の場合、その語は実際にはガベージ コレクションされたデータ (オブジェクトの状態) へのポインターです。そして、そのオブジェクトの状態には、他のオブジェクト (またはそれらの配列) へのポインター、それ自体が他のオブジェクト、または前のオブジェクト (循環参照!) などを指すポインターが含まれる場合があります。
ガベージ コレクタは、(ローカル変数またはグローバル変数からの) 参照チェーンがメモリを指していないことを確認した後でのみ、メモリを解放します (つまり、JVM に再利用させます)。
少なくともガベージ コレクションに関するウィキペディアのページを注意深く読み、可能であればガベージ コレクション ハンドブックのような教科書を読むことを強くお勧めします。1992 年の Paul Wilson のGC 調査記事も読むことができます。
また、RAM の使用に注意する必要があります。アプリケーションの観点から見ると、ハードディスクへのアクセスには非常に長い時間がかかります (ディスク上のキロバイト ブロックへのアクセスは約 10 ミリ秒です。RAM 上のアクセスは数マイクロ秒で数千倍高速です。オンチップ キャッシュはナノ秒単位でアクセスできます。) SSDはそれを少し改善します。