Java のリソースは、使用後に閉じる必要がある、またはこれらのリソースが使い果たされるといつも聞いていました。非常に少ないリソース (1 つまたは 2 つのファイル リーダー/バッファー リーダーなど) を使用する小さなプログラムにとって、それは本当に懸念事項ですか? JVM は、プログラムによって使用されているリソースを追跡しませんか? そして、プログラムが終了すると、それらすべてのリソースが解放されませんか? そうでない場合、プログラムの終了後も JVM がこれらのリソースをブロックしたままにするのはなぜですか?
1554 次
4 に答える
3
OS はプロセスの終了後にこれを処理する可能性があるため、小規模なプログラムではリソース リークが発生する可能性があります。しかし、これは非移植性と見なされます。
より大きな問題は、JVM が実行されている OS が、リモート マシンに割り当てられたリソースを解放する方法や、解放する必要のあるリソースが割り当てられているかどうかを認識できないことです。
于 2013-09-06T10:46:40.873 に答える
2
JVMプロセスが終了した後、JVMプロセスに割り当てられたリソースを解放するのはJVMではなくOSです。
于 2013-09-06T09:39:14.503 に答える