2

のような一部の言語Pythonでは、ヒープからオブジェクトを明示的に「削除」する方法があります。例として:

s = "This is a Test"
del s

現在、オブジェクトsは使用できません。さて、私の質問は、で同様のことができるJavaでしょうか? はい、ガベージ コレクションが行われることはわかっています。これはほとんどの状況で非常に有利ですが、オブジェクトを手動で削除したい場合はどうすればよいでしょうか。ところで、delPython では実際にオブジェクトを削除しますか、それとも参照変数を削除しますか? 助けてくれてありがとう!

4

5 に答える 5

1

Javaで似たようなことはできますか?

いいえ。

せいぜい、オブジェクトを無効にすることができます。

s = null;

これにより、ガベージ コレクションのオブジェクトがマークされ、それを使用しようとすると (新しい値を割り当てる場合を除く) NullPointerException、.

s = null;
...
s.foo(); //this will throw a NullPointerException
于 2013-09-21T04:15:34.030 に答える