P
Patneu
Gast
Hallo zusammen,
ich weiß nicht ob die Frage schonmal gestellt wurde, wenn ja habe ich sie nicht finden können.
Meine Frage ist, ob / wie viel Speicher (heap space - was stellt man sich darunter eigentlich genau vor?) eine Referenz auf "null" benötigt (abgesehen vom Bezeichner der Variablen etc.)?
Hintergrund der Frage ist, dass ich in einem Programm ein int-Array habe, welches ziemlich groß ist, wobei die Größe vom Benutzer festgelegt wird. Es ist ein zweidimensionales Array, wobei die Größe der ersten Dimension nach oben offen ist (aber vermutlich nicht höher als 100 liegen wird) und die zweite Dimension maximal 9999 Felder hat.
Problematisch dabei ist, dass viele (eigentlich die meisten) Felder des Arrays wahrscheinlich "leer bleiben" werden. Nun habe ich bei der bisherigen Recherche im Forum gelesen, dass int-Werte prinzipiell erstmal "0" sind, wenn ihnen kein anderer Wert zugewiesen wird. Da eine 0 ja den selben Speicher verbraucht, wie jeder andere int-Wert, ist das natürlich, wenn die meisten Felder gar keinen Wert haben müss(t)en, sehr unpraktisch.
Deshalb habe ich überlegt, anstatt eines int-Array ein Integer-Array zu verwenden, da die nicht benötigten Felder dann auf "null" verweisen könn(t)en. Wie ich das verstanden habe, sollten sie das standard-mäßig auch tun?
Meine Frage ist also im Prinzip: Bringt das etwas bzw. das, was ich mir davon erhoffe? Spare ich so wirklich Speicher und wenn ja, wie viel?
Und falls mir das nichts bringen sollte: Wie könnte ich hier sonst Speicher gewinnen? Oder muss ich zwingend den Speicher erhöhen?
Danke schon im Voraus für alle antworten. =)
ich weiß nicht ob die Frage schonmal gestellt wurde, wenn ja habe ich sie nicht finden können.
Meine Frage ist, ob / wie viel Speicher (heap space - was stellt man sich darunter eigentlich genau vor?) eine Referenz auf "null" benötigt (abgesehen vom Bezeichner der Variablen etc.)?
Hintergrund der Frage ist, dass ich in einem Programm ein int-Array habe, welches ziemlich groß ist, wobei die Größe vom Benutzer festgelegt wird. Es ist ein zweidimensionales Array, wobei die Größe der ersten Dimension nach oben offen ist (aber vermutlich nicht höher als 100 liegen wird) und die zweite Dimension maximal 9999 Felder hat.
Problematisch dabei ist, dass viele (eigentlich die meisten) Felder des Arrays wahrscheinlich "leer bleiben" werden. Nun habe ich bei der bisherigen Recherche im Forum gelesen, dass int-Werte prinzipiell erstmal "0" sind, wenn ihnen kein anderer Wert zugewiesen wird. Da eine 0 ja den selben Speicher verbraucht, wie jeder andere int-Wert, ist das natürlich, wenn die meisten Felder gar keinen Wert haben müss(t)en, sehr unpraktisch.
Deshalb habe ich überlegt, anstatt eines int-Array ein Integer-Array zu verwenden, da die nicht benötigten Felder dann auf "null" verweisen könn(t)en. Wie ich das verstanden habe, sollten sie das standard-mäßig auch tun?
Meine Frage ist also im Prinzip: Bringt das etwas bzw. das, was ich mir davon erhoffe? Spare ich so wirklich Speicher und wenn ja, wie viel?
Und falls mir das nichts bringen sollte: Wie könnte ich hier sonst Speicher gewinnen? Oder muss ich zwingend den Speicher erhöhen?
Danke schon im Voraus für alle antworten. =)