メモリ管理環境でメモリ管理を行う方法は?
ガベージコレクションだけですか、それとも他の何かですか?
Javaでは、GCはVMによって定期的に実行され、ガベージコレクションを明示的に呼び出す必要はありません。System.gc()を使用してガベージコレクションを要求できることは知っていますが、ガベージコレクションが実行される保証はありません。
それで、メモリ管理された環境でのメモリ管理のための他の方法はありますか?
メモリ管理環境でメモリ管理を行う方法は?
ガベージコレクションだけですか、それとも他の何かですか?
Javaでは、GCはVMによって定期的に実行され、ガベージコレクションを明示的に呼び出す必要はありません。System.gc()を使用してガベージコレクションを要求できることは知っていますが、ガベージコレクションが実行される保証はありません。
それで、メモリ管理された環境でのメモリ管理のための他の方法はありますか?
多くのオプションはありません。さらに、さまざまなタイプの GC がどのように機能しているかを確認することもできますhttp://sanjaal.com/java/574/java-general/all-about-java-garbage-collection-types-algorithms-advantages-and-disadvantages/またはGC パラメータの調整
あなたの質問に対する短い答えはノーです。Java 環境では、ヒープ領域を解放または管理する方法を直接制御することはできません。そうは言っても、最新の JVM は非常に効率的な GC アルゴリズムを備えており、通常、最も極端なケースを除いて、すべてのメモリ使用量を完全に許容できる程度に管理します。
どのオブジェクトが収集され、そのプロセスがいつ発生するかを直接制御することはできませんが、java.lang.refの参照クラスを使用して、どのオブジェクトが適格で、特定の時間にガベージ コレクトされる可能性が高いかを制御できます。 .
ガベージ コレクションは、管理された環境でメモリを管理する方法です (実際、それが管理された環境と呼ばれる理由です。メモリはプログラマのために管理されるためです)。
通常、このような環境ではメモリを管理する必要はありません。
The short answer: You don't have to worry about garbage collection; the only thing you need to worry about is not to cause memory leaks in java. see this: Creating a memory leak with Java
技術レベルで実際にメモリを管理することはできませんが、開発者はメモリをある程度管理することができます。これが言いたいのは、JVM と戦ったり改善したりするのではなく、JVM に仕事を任せることです。しかし、そうは言っても、不適切に作成されたプログラム (つまり、不適切なメモリ管理、つまりメモリ使用量) は、プログラム エクスペリエンスの低下につながる可能性があります。
しかし、設計の観点からメモリを管理する場合 (つまり、メモリを無駄にしない、適切なアルゴリズムとデータ構造を利用する、必要に応じてメモリを参照解除/解放する) ことで、開発者はある程度の制御が可能になります。