Wenn ich ein Objekt O
mit einer gigantischen Methode f()
habe und 10000 Beispiele von O
in den Speicher lade. Werden 10000 Beispiele von f()
ebenfalls in den Speicher geladen? Wenn ja, bedeutet das, dass ich Speicher sparen würde, indem ich diese Funktion möglichst statisch mache?
Instanzmethoden werden in den Methodenbereich in JVM geladen. es wird einmal geladen, aber es wird viele Stapel für jeden Aufruf geben, die Sie zu f () machen, um eigene lokale Variablenwerte zu verfolgen.
Instanz Methode ist nur eine Vorlage und ist in einer Klasse definiert (nicht in jeder Instanz). Sie würden Speicher nicht sparen, indem Sie ihn statisch machen.
Nein. Methoden sind nicht Teil von Instanzen; Sie sind Teil von Klassen. Es würde keinen Sinn machen, den Code für jede Instanz zu wiederholen (weil er niemals variieren würde), daher ist die Implementierung einfach klüger als das.
Tags und Links java memory memory-management static