Javaでは、私はそれについてあまり考えずに次のようなことをしました:
public class Main {
public void run() {
// ...
}
public static void main(String[] args) {
new Main().run();
}
}
しかし、最近、それが安全かどうか確信が持てなくなりました。結局のところ、Main
作成後のオブジェクトへの参照はありません(参照はありthis
ますが、それは重要ですか?)ので、実行中にガベージコレクターがオブジェクトを削除する危険性があるようです。なにか。したがって、おそらくmain
メソッドは次のようになります。
public static void main(String[] args) {
Main m = new Main();
m.run();
}
これで、最初のバージョンが機能することは間違いなく、問題は発生していませんが、すべての場合(特定のJVMだけでなく、できればそのような場合について言語仕様が述べていること)。