Angenommen, ich habe eine Klasse ClassBig
mit 100 Methoden und eine zweite mit nur 10 Methoden ClassSmall
Wenn ich Objekte zur Laufzeit habe
%Vor%
Nimmt die größere Klasse mehr Speicherplatz ein?
Wenn beide Klassen eine identische Methode enthielten, dauert die Ausführung der größeren Klasse länger?
Die speicherinterne Repräsentation einer Instanz einer Klasse ist hauptsächlich nur ihr interner Zustand plus ein Zeiger auf eine speicherinterne Repräsentation der Klasse selbst. Die interne Repräsentation einer Instanzmethode hat ein Argument mehr als Sie in der Klassendefinition angegeben haben - die implizite Referenz this
. Auf diese Weise können wir für jede Instanz nur eine Kopie der Instanzmethode und nicht eine neue Kopie speichern.
Also wird eine Klasse mit mehr Methoden mehr Speicher beanspruchen als eine Klasse mit weniger Methoden (der Code muss irgendwo hingehen), aber eine Instanz einer Klasse mit mehr Methoden wird die gleiche Menge an Speicher verwenden, vorausgesetzt, die Klassen haben die gleichen Daten Mitglieder.
Die Ausführungszeit wird nicht von der Anzahl der anderen Methoden in der Klasse beeinflusst.
Tags und Links java