Oft habe ich die Anweisung getroffen, dass die Anwendung immer alle geöffneten Ressourcen explizit schließen sollte.Ist das Schließen der Ressourcen immer wichtig?
Meine Herangehensweise an die Programmierung ist eher pragmatisch und ich mag es nicht, blind irgendeiner Konvention zu folgen, von der ich nicht eindeutig Vorteile sehe. Daher meine Frage.
Lassen Sie uns davon ausgehen, dass:
- Ich habe eine kleine Anwendung
- Es kann einige Ressourcen öffnet (zB Dateien, Datenbankverbindungen, Remote-Streams) und verarbeitet sie
- Es kann einige Minuten funktioniert und dann es verlässt
- Lassen sie uns sagen, es ist in Java (wenn die Sprache relevant ist)
muss ich wirklich über cl haben zu kümmern alle Ressourcen, die ich geöffnet habe? Ich denke, alle Ressourcen, die ich geöffnet habe, werden geschlossen/freigegeben, wenn die Anwendung/virtuelle Maschine beendet wird. Habe ich recht?
Wenn das stimmt, gibt es irgendwelche überzeugenden Gründe, sich darum zu kümmern, Ressourcen in einer so kleinen, kurzen Arbeitsanwendung zu schließen?
UPDATE:
Die Frage ist rein hypothetisch, aber das Argument für nicht darüber Sorge ist, dass ich nur ein paar schnellen Skript Hacking kann zusammen und will keinen unnötigen Code schreiben, die nicht direkt mit das Problem auf der Hand: Schließen Ressourcen, all diese ausführliche try-catch-finally Sachen zu tun, Umgang mit Ausnahmen, die ich über usw. ist
der Punkt der Frage ist es egal, ob es irgendwelche praktische Folgen tu es nicht.
Lassen Sie mich mit einer Frage an Sie antworten: Warum sollten Sie sich nicht darum kümmern, die Ressourcen zu schließen? –
"rate, dass alle Ressourcen, die ich geöffnet habe, geschlossen/freigegeben werden, wenn die Anwendung/virtuelle Maschine beendet wird." -> Meine Vermutung ist, dass das nicht stimmt. Wenn Sie nicht schließen und VM beendet wird, kann das Betriebssystem dafür verantwortlich sein, diese Streams/Sockets zu schließen. – kosa
Um die Warnungen loszuwerden, müssten Sie sie unterdrücken, was genauso viel Arbeit ist wie .close(). Auch ist es eine gute Form. –