wie viel speicher braucht eigentlich ein array?

Status
Nicht offen für weitere Antworten.

hirion

Mitglied
hallo!

mal eine theoretische frage:
ich möchte auf benutzereingaben gewisser zeichen reagiern. zb benutzer gibt ein 'h' und dieses wird rot. ich hab mir überlegt dass ich jetzt die Color in einem Array speichern könnte und so konstanten (in bezug komplexität) zugriff auf die farbe hätte.
also so:
Code:
Color[] bucket = new Color[Character.MAX_VALUE];
bucket['h'] = Color.red;

jetzt aber meine frage, wie effizient ist dies beim speicherverbrauch. ein array ist ja im grunde eine liste mit referenzen auf speicherbereiche. werden jetzt bei einem Array der länge 50 -> 50 Speicherbereiche reserviert oder nur eine liste erstellt die platz für 50 einträge bietet?

also beispiel:
ein Speicher mit 100 speicherzellen. angenommen ein Object braucht 1 speicherzelle.
es wird
Object[] b = new Object[50]
erzeugt
und in diesem array 3 objekte gespeichert.

braucht das array nun 50 speicherzellen? sprich die hälfte des speichers. oder nur die 3 speicherzellen die die objekte benötigen?

danke und mfg
chris
 

Redfrettchen

Bekanntes Mitglied
Hi,
<afaik>
Es wird der Speicher für 50 Einträge reserviert, diese Einträge bieten aber nur genug Platz, um eine Referenz auf Objekte zu speichern. Am Anfang wird jedes Objekt-Array mit null-Einträgen initialisiert. Wenn ein Feld mit einem Objekt initialisiert wird, dann wird nur die Referenz im Array gespeichert, das Objekt verbraucht aber natürlich selbst auch Speicherplatz.
</afaik>
 

hirion

Mitglied
also haben die einzelnen array buckets die größe der referenz und nicht des objektes selbst?
(ich schätz mal bei elementaren datentypen nehmen die buckets die größe des wertebereichs an?)

ich schau mal ob ichs irgendwie rausmessen kann. ich poste dann meine erfahrungen

edit: ok ich habs jetzt mit dem netbeans profiler mal ausgemessn und es sieht so aus als ob es stimmt:

Code:
Object[] obj = new Object[Character.MAX_VALUE];         56B
int[] Int = new int[Character.MAX_VALUE];               262.152B

sofern ich diesen profiler richtig verstanden habe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S TreeSet benötigt zu viel Speicher Allgemeine Java-Themen 5
L Nutzt Java bei Start der VM übermäßig viel Speicher? Allgemeine Java-Themen 3
G Panel mit vielen Komponenten verbraucht viel Speicher Allgemeine Java-Themen 3
J Bei einer Zufallsausgabe werden zu viel Ergebnisse ausgegeben Allgemeine Java-Themen 16
L Java Slick2D stürzt ab- Zu viel auf einmal? (LinkedList) Allgemeine Java-Themen 7
S Java-Programm verbraucht zu viel RAM Allgemeine Java-Themen 8
F Array viel zu groß...andere Lösungen? Allgemeine Java-Themen 12
K htmlCode einlesen, Speicherüberlauf? zu viel code? Allgemeine Java-Themen 21
G Werte bei Rekursion viel höher als erwartet Allgemeine Java-Themen 3
L wan loggt man zu viel Allgemeine Java-Themen 8
N Wie viel Java kann man lernen ? Allgemeine Java-Themen 106
T String.split() - viel zu langsam Allgemeine Java-Themen 9
J Viel Text mit " im Quellcode abspeichern Allgemeine Java-Themen 7
C Virtueller Speicher Allgemeine Java-Themen 36
sascha-sphw Auf GoPro Speicher zugreifen Allgemeine Java-Themen 10
TheJavaKid Mit Java die Festplatte mit dem meisten freien Speicher finden Allgemeine Java-Themen 7
J Strings int textdokumente speicher Allgemeine Java-Themen 3
M Eine Datei im Speicher erneut laden(?) Allgemeine Java-Themen 1
L Input/Output Datei in den Speicher lesen. Allgemeine Java-Themen 9
Thallius Wie mache ich eine Java App mit Icon startbar die mehr Heap Speicher braucht? Allgemeine Java-Themen 3
P Große Datenstruktur im Speicher halten Allgemeine Java-Themen 13
H Frage wegen Heap-Speicher Allgemeine Java-Themen 2
M Speicher der VM Allgemeine Java-Themen 4
W PDFBox "Nicht genügend Speicher" Allgemeine Java-Themen 2
S Speicher-Problem Allgemeine Java-Themen 4
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
V Input/Output BufferedI/OStream leert den Speicher Allgemeine Java-Themen 7
G Speicher erhöhen Allgemeine Java-Themen 10
R Programm frisst 'Virtuellen Speicher' wie PacMan Allgemeine Java-Themen 4
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
A 2D-Grafik 2MB jpg wird zu 300MB im speicher (fehler) Allgemeine Java-Themen 8
E Speicherverwaltung bzw. Speicher wieder frei geben?! Allgemeine Java-Themen 8
D Speicher beim Start zuweisen Allgemeine Java-Themen 10
S Bei Sortierung Speicher zu gering? Allgemeine Java-Themen 8
hdi Was frisst in meinem Programm den Speicher / verschlechtert die Performance Allgemeine Java-Themen 11
S Jar Datei mit mehr Speicher starten Allgemeine Java-Themen 2
S JAR Datei, mehr Speicher bereitstellen Allgemeine Java-Themen 5
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
E Speicher frei machen (List) Allgemeine Java-Themen 9
J Speicher Probleme vorbeugen Allgemeine Java-Themen 8
C Laden / Speicher Allgemeine Java-Themen 8
R Eigener Assoziativ-Speicher Allgemeine Java-Themen 7
R Assoziativer Speicher welche Unterschiede? Allgemeine Java-Themen 5
S Zugesicherter Speicher der jvm nach Programmstart erhöhen Allgemeine Java-Themen 6
G FIFO Speicher nachbilden Allgemeine Java-Themen 2
G restlichen freien Speicher ermitteln? Allgemeine Java-Themen 3
M Variablen Speicher wieder freigeben ? Allgemeine Java-Themen 9
J Wieviel Speicher maximal? Allgemeine Java-Themen 14
T Sortierter assoziativer Speicher mit Filter Allgemeine Java-Themen 4
L JVM: Speicher wieder für OS freigeben? Allgemeine Java-Themen 5
M Heap Speicher voll bei spezieller Resize Methode Allgemeine Java-Themen 5
R Gibt es eine JVM, die besser mit dem Speicher umgeht? Allgemeine Java-Themen 7
F OutOfMemoryError: Java heap space - Speicher verändern Allgemeine Java-Themen 8
O Datei im Speicher halten Allgemeine Java-Themen 4
C Speicher Problem Allgemeine Java-Themen 3
J Out Of Memory - Speicher vergrößern? Allgemeine Java-Themen 2
F CPU auslastung wenn Speicher mit -Xmx erhöht Allgemeine Java-Themen 4
S Auslagerungsdatei (Speicher) werde voll Allgemeine Java-Themen 2
S Speicher Allgemeine Java-Themen 2
m@nu doppelte daten im speicher? Allgemeine Java-Themen 2
G Speicher Allgemeine Java-Themen 3
A Speicher/Anzeige Problem in JTable Allgemeine Java-Themen 2
D Speicher der VM für ausführbares Jarfile erhöhen Allgemeine Java-Themen 4
D Eine geladene Klasse aus dem Speicher holen? Allgemeine Java-Themen 9
J in file schreiben frisst den speicher Allgemeine Java-Themen 5
P benötigter Speicher für Objekt Allgemeine Java-Themen 5
D Wieviel Speicher kann die VM verwalten? Allgemeine Java-Themen 18
C Über C/C++ (JNI) angeforderten Speicher wieder frei geben Allgemeine Java-Themen 3
H Speicher freigeben klappt nicht bei Image Objekten, warum? Allgemeine Java-Themen 8
B Kostet das speichern von Variablen zusätzlichen speicher? Allgemeine Java-Themen 2
T Speicher für die VM ändern Allgemeine Java-Themen 17
S Static + Speicher + Bytecode etc. Brauche HILFE :/ Allgemeine Java-Themen 11
H Wie Cpu- und Speicher- Auslastung in Java auslesen Allgemeine Java-Themen 4
F Verfügbaren Heap-Speicher setzen Allgemeine Java-Themen 2
C RAM Speicher in Datei auslagern (Java Swapping) Allgemeine Java-Themen 4
N Speicher Problem bei grossem Heap Allgemeine Java-Themen 15
S Speicher reservieren Allgemeine Java-Themen 5
R nichtmehr benötigtes BufferedImages aus dem Speicher entfern Allgemeine Java-Themen 4
Robert Zenz Will mir jemand erklaeren wofuer man Module wirklich braucht? Allgemeine Java-Themen 38
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
S Selenium: WebDriverWait braucht zu lange Allgemeine Java-Themen 2
I JPQL query braucht zu lange Allgemeine Java-Themen 27
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
W Simulation - Anfänger braucht Hilfe Allgemeine Java-Themen 14
Antoras Braucht ihr Datenmodellierung? Allgemeine Java-Themen 20
G RXTX library braucht sehr lange zum laden. Ist das normal? Allgemeine Java-Themen 8
B lookupPrintServices braucht eeeeeeeeeeeewig Allgemeine Java-Themen 3
V Eclipse braucht ewig zum Starten meines Codes Allgemeine Java-Themen 21
B Fehlermeldungen die keiner braucht ... Allgemeine Java-Themen 17
M file.delete() braucht ewig Allgemeine Java-Themen 3
B Braucht man die neue VM 1.5 Allgemeine Java-Themen 3
P Welches JRE braucht meine Applikation? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben