Wieviel Speicher verbraucht ein Array?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Gibt es eigentlich irgendeine Möglichkeit die wirkliche Größe eines Arrays im Speicher zu bestimmen?

Wenn ich z.B. ein Array mit 10 Floats habe, dann muss doch auch irgendwo gespeichert sein welche Werte als Index zulässig sind, das Array hat also einen gewissen Overhead. Wie groß ist der aber genau? Sizeof gibt es ja leider nicht in Java und mir fallen auch keine Tests mehr ein mit denen ich es evtl. ermitteln könnte.
 

meez

Top Contributor
So kannst dus in etwa messen:



Code:
public class test {
  public static void main(String[] a) {
        Runtime r = Runtime.getRuntime();
    	long l;
        l= r.freeMemory();        
        int[] array = {};
        System.out.println(l - r.freeMemory());    
	
   }
}
 

Lord_Aratorn

Aktives Mitglied
Hm genau sowas suche ich auch.
Aber ich habe folgendes Problem.
Mein Programm läuft auf einem Embededsystem und daher ist der Speicherverbrauch und besonders die Laufzeit interessant.
Kann es zudem nicht sein, dass r.freeMemory() den "aktuell" freien Arbeitsspeicher liefert, dann ein komplett anderer prozess eines anderen Tasks eine Variable initialisiert, dann wiederrum l-r.freeMemory() einen falschen wert liefert?

Anders sieht es aus, wenn man ein oder das Objekt serialisiert und auf dem Rückgabearray die lenghtfunktion benutzt.
dann erhält man genau die größe des Objektes in Byte nur ist es laufzeittechnisch doch eher ressourcenfressend.

Oder liege ich da falsch?
 

Lord_Aratorn

Aktives Mitglied
was das selbe ist, was sizeof auch liefert;
naja eigentlich nur das man beim serialisieren angeben kann was wann wo und ob konvertiert wird.
sizeof liefert die größe des objektes
 

HoaX

Top Contributor
und was ist wenn ich bei meinem Object, dass nur einen int beinhaltet, in der writeObject methode noch 100kb kommentartext mit schreibe? dann ist mein objekt auch im speicher 100k groß? sicher nicht.

oder ich serialisiere per ObjectOutputStream und XStream, dann hab ich zwei unterschiedlich große ergebnisse. wie groß ist das objekt jetz im speicher? einer von beiden muss lügen ... oder beide ;)

serialisieren mag im glücksfall mal den korrekten wert liefern, aber sonst nicht.

den genauen speicherverbrauch wirst du ohne spezialfunktionen deiner VM imo nicht in erfahrung bringen können
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Wieviel Speicher braucht ein Pixel? Java Basics - Anfänger-Themen 14
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
M Aus wieviel Klassen darf in Java eine (Programm)besitzen? Java Basics - Anfänger-Themen 21
C Zeitberechnungen wieviel Zeit vergangen ist. Java Basics - Anfänger-Themen 4
L Wieviel Platz belegt Java standardmäßig im Arbeitsspeicher? Java Basics - Anfänger-Themen 4
A wieviel platz ist noch frei? Java Basics - Anfänger-Themen 2
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
B Wie speicher ich die Outputs einer Methode in ein Array ein? Java Basics - Anfänger-Themen 1
L Frage zum Speicher bei Arrays Java Basics - Anfänger-Themen 7
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
F BufferedImage Speicher Nutzung Java Basics - Anfänger-Themen 2
TheSorm Problem mit Speicher Klasse Java Basics - Anfänger-Themen 3
S Wo speicher ich bilder und sounds ab? Java Basics - Anfänger-Themen 4
TheSorm Kleine Speicher Klasse Java Basics - Anfänger-Themen 24
H Methoden "Leeren" Speicher auf der Festplatte überschreiben Java Basics - Anfänger-Themen 8
C Variablen Speicher von Variablen erhöhen Java Basics - Anfänger-Themen 5
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
H Input/Output ImageIO.load frisst meinen ganzen Speicher weg! Java Basics - Anfänger-Themen 4
R Online-Speicher Java Basics - Anfänger-Themen 7
M Variablen speicher Java Basics - Anfänger-Themen 8
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Belegt "null" Speicher? Java Basics - Anfänger-Themen 25
T Erste Schritte Speicher läuft voll, Diashow, Images Java Basics - Anfänger-Themen 7
C Soundwiedergabe in einem Thread - Speicher besser bereinigen Java Basics - Anfänger-Themen 3
H warum speicher und läd mien editor nicht? Java Basics - Anfänger-Themen 24
T MysqlConnect und Speicher Java Basics - Anfänger-Themen 8
nabla Speicher voll, mit dem GC geht's daneben? Java Basics - Anfänger-Themen 7
hdi Programmier-Stil : Speicher vs. Quellcode Java Basics - Anfänger-Themen 67
G Button soll Speicher Dialog aufrufen Java Basics - Anfänger-Themen 10
N Probleme mit Input/OutputStreams, Daten im Speicher verwalte Java Basics - Anfänger-Themen 2
D nicht genug speicher - profiling trotz error Java Basics - Anfänger-Themen 5
A Problem mit nicht ausreichendem Speicher Java Basics - Anfänger-Themen 3
K speicher(String a, int b) Java Basics - Anfänger-Themen 14
N Zugriff auf Virtuelles Speicher Java Basics - Anfänger-Themen 18
J Belegter Speicher eines Ordners Java Basics - Anfänger-Themen 2
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
S Ringbuffer-Speicher mit einem Textfile Java Basics - Anfänger-Themen 2
A eingabe von jTextField lesen und speicher Java Basics - Anfänger-Themen 5
D Werte in Array speicher Java Basics - Anfänger-Themen 8
M Hilfe: Speicher freigeben? Java Basics - Anfänger-Themen 4
G Speicher als .txt -gibt ein Problem! Java Basics - Anfänger-Themen 6
A Speicher von VM ändern ohne Parameter Java Basics - Anfänger-Themen 3
S Speicher freigeben? Java Basics - Anfänger-Themen 5
T Größe eines Objektes im Speicher Java Basics - Anfänger-Themen 4
D Mit Java auf Speicher zugreifen Java Basics - Anfänger-Themen 3
L-ectron-X Speicher freigeben - Garbage Collection Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben