Ich betrachte mich selbst als ziemlich erfahren in Java, aber es gibt immer noch ein paar grundlegende Dinge, von denen ich mir nicht wirklich sicher bin.Java: Best Practice für Deklaration und Initialisierung
Ich versuche immer, einen wartbaren, leicht lesbaren Code zu schreiben und auf höchste Effizienz zu zielen. Zum Beispiel nenne ich nur einen "neuen" -Operator nur, wenn es wirklich benötigt wird.
Das ist, weil ich Speicher nicht unnötig reservieren möchte. Aber was ist mit der Unterstützung von Variablen?
Viele Menschen neigen dazu, einen String zu erklären, nur einige lange ass Methode Aufruf wie folgt zuzuordnen:.
String Helfer = Class.method1() method2 (param) .getter();
Ich frage mich immer, ob das nicht mehr Speicher als benötigt. Der Getter gibt ein neues Objekt bereits zurück und jetzt wird noch mehr Speicher zugeordnet, indem zusätzlich darauf verwiesen wird. Wenn ich diesen Getter mehr als einmal verwende, ist eine Hilfsstring praktisch, aber wenn es nur einmal benötigt wird, wäre es nicht besser, diese Methode direkt zu übergeben, anstatt eine neue Variable zu deklarieren? Wird dem Heap tatsächlich Speicher zugewiesen?
Objekt a, b, c, d, e, f, g, h, i, j ...;
Ich hoffe, dass einige erfahrene Java-Jungs mir sagen können, wie sie mit grundlegenden Dingen wie diesem umgehen. Vielen Dank! :)
In Ihrem Beispiel würde auf dem _stack_ mehr Speicher verwendet werden als auf _heap_. Es ist so eine kleine Menge, um die es sich nicht zu kümmern lohnt. Es kommt darauf an, dass Sie mit dem String einen hilfreichen Namen erhalten, damit Ihr Code etwas selbstdokumentierender und damit besser lesbar wird. –
"Der Getter gibt bereits ein neues Objekt zurück ..." - Nein, das ist normalerweise nicht der Fall, wenn es nur einen Verweis auf ein Element des aufgerufenen Objekts zurückgibt, wie es bei den meisten Getter-Methoden der Fall ist. – Jesper
Was eigentlich wichtiger ist, ist das 'Class.method1(). Method2 (param).Getter() 'ist eine eklatante Verletzung des [Demeter] -Gesetzes (https://en.wikipedia.org/wiki/Law_of_Demeter) (das Prinzip des geringsten Wissens), wodurch der Code eng an seine Abhängigkeiten gekoppelt und damit schwieriger wird aufrecht erhalten. –