Was ist der genaue Zweck der aufrufenden System.exit() in java
Ich bin ein wenig Verwirrung mit system.exit. Gründete ich einige Dinge aus dieser link.
aber ich habe einige Zweifel in meinem Kopf. Wenn ich system verlassen, was passiert ist, um die erstellten Objekte,Variablen und ect. Alles ist zerstört, sobald ich aufgerufen system.Ausfahrt? Wenn "ja", warum dann zwingen wir die garbage collection system vor.exit() ? Wenn "Nein", wie lange die erstellten Objekte gespeichert werden, die in der JVM (Speicher)? Wenn führen Sie das Programm erneut nach der Ausfahrt aus dem system, was passiert ist, um die vorherigen Objekte, wenn Sie nicht zerstört wird, sobald ich aufgerufen System.exit();?
Dank.
- jede Anregung oder Tipps? alles herzlich willkommen. Dank
- Mögliche Duplikate von: stackoverflow.com/questions/3715967/...
- "Alles ist zerstört, sobald ich aufgerufen system.die Ausfahrt?" - Nicht genau (oder sofort).
System.exit
beginnt ein "normaler" Beendigung der JVM. Teil des Prozesses wird es sein, zu reinigen und den freien Speicher, sondern durch die Bühne, der Java-code wird abgebrochen wurden... - AFAIK-System.die Ausfahrt endet nur der aktuell laufende JVM so alles drin ist verloren. Warum sagen Sie "wir zwingen die garbage collection system vor.exit()"?
- Ich bin ein wenig Verwirrung mit system.exit. Gründete ich einige Dinge aus dieser "link". finden Sie gezielt ich machen, dass der link zu der alten post. Ich Folge ihm, aber einige Punkte machen Zweifel. Thats, warum ich diesen post.
- Nein, ich sagte, dass, weil, wenn alle erstellt, wird dieser zerstört nach system.verlassen das heißt, alles klar, ohne Müll. Also dann, warum wir mit garbage collection (System.gc();).
- Nennen wir GC innerhalb unserer Anwendungen, zu sagen, die JVM den Speicher bereinigen der Objekte, die wir verwenden (JVM hat in der Regel eine getrennte Speicher-quota). Einmal nennen wir System.die Ausfahrt beenden wir die JVM, wo unsere Anwendung lebt. Das Speicher-management der Speicher der JVM wurde mit geht dann das OS.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur Benutzer-threads werden zerstört von einem System beenden.
Wir nicht und es wäre nicht sehr sinnvoll, da dies möglicherweise nicht tun.
Bis Sie nicht mehr benötigt werden und einen sauberen Auftritt, der JVM wirklich beendet
Werden Sie zerstört, wenn das Programm beendet ist. In jedem Fall, jedes Programm bekommt seinen eigenen neuen Satz von Variablen, auch wenn Sie mehrfach ausgeführt werden. Es ist kein Austausch von Variablen zwischen Programmen.
Ich denke in diesem Fall ist es nützlich, sich die JVM als ein Programm auf einem computer ausgeführt werden. System.exit() beendet das Programm. Nichts in dem Programm gehalten wird, die durch das Betriebssystem des Computers oder der JVM-Laufzeitumgebung, obwohl das Programm natürlich schreiben, Dinge, die Langzeit-Lagerung. Aber Variablen, erstellt objs, und etc. sind alle verschwunden und können nicht wiederhergestellt werden.
Die kurze Antwort, was, die Sie wissen sollten über
exit
:Es ist nützlich, weil es der einzige Weg, um die exit-status.
In der Regel der einzige Ort, den Sie verwenden sollten, ist es am Ende ein
main
Methode.Führt JVM-Terminierung (Tötung der Prozess, also notwendigerweise die Befreiung aller Speicher).