Hier ist, was ich zu bestimmen versuche...
Ich habe eine Hilfsklasse zum Anhängen von Zeilen an eine Textdatei. Dies muss von einer Anzahl anderer Klassen verwendet werden, wie einer gemeinsamen Protokolldatei.
In meiner ersten Implementierung hatten alle Klassen, die es verwenden wollten, eine referenzlose Instanz erstellt, z. B.
new Logger(logline,logname);
Der Konstruktor erstellt einen PrintWriter
, hängt die Zeile an und schließt die Datei.
Dies schien verschwenderisch zu sein, da bei jedem angehängten eine neue Instanz erstellt wird.
Die Alternative war die Verwendung einer statischen Methode namens "writeln" in dieser gemeinsamen Klasse, da ich verstanden hatte, dass statische Methoden und Daten den gleichen Speicher immer wieder verwenden... aber
Diese statische Methode erstellt eine Instanz von PrintWriter
, um ihre Aufgabe zu erfüllen, bedeutet das also nicht, dass eine neue Instanz von PrintWriter
für jede Zeile erstellt wird, wie bei #1?
Wie auch immer, (ich bin relativ neu in Java), gibt es einen bekannten, genehmigten Weg, dies zu tun, oder sollen wir einfach erstellen und den Garbage-Collector nach uns aufräumen lassen?
Danke