1. ホーム
  2. java

[解決済み] Javaでメモリを解放する方法は?

2022-04-24 20:56:45

質問

Javaでメモリを解放する方法、C言語の free() 関数を使用することはできますか?それとも、オブジェクトをnullに設定してGCに頼るしかないのでしょうか?

どのように解決するのですか?

Javaはマネージドメモリを使用しているため、メモリを確保する方法は new 演算子、そしてメモリの解放はガベージコレクタに頼るしかありません。

この メモリ管理に関するホワイトペーパー (PDF)は、その説明に役立つかもしれません。

を呼び出すこともできます。 System.gc() を使用すると、ガベージコレクタをすぐに実行するように指示できます。 しかし、最終的な判断を下すのはJavaランタイムであり、あなたのコードではありません。

によると Javaドキュメント ,

gc メソッドを呼び出すことは Java仮想マシンは 未使用のオブジェクトをリサイクルするために を使用することで を使用することができます。 を再利用します。から制御が戻ると メソッドを呼び出すと、Java 仮想マシンは を再生するために最善の努力をしました。 を削除してください。