M
Mr. Oizo
Gast
Hallo Forum!
Ich habe folgenden Code geschrieben:
Dazu die Ausgabe:
Ich hätte eigendlich eine Änderung des Speichers erwartet. Dann hatte ich die Idee, das der Speicher bereits vor Start des Programms errechnet und reserviert wird. Aber selbst wenn ich das Zeug mit dem Array weglasse, kommt die selbe Ausgabe mit selben Werten.
Nun frage ich euch: Woran kann das liegen und wie kann ich richtig ermitteln, wieviel Bytes mein Array tatsächlich belegt? (Das möchte ich nachher nicht nur mit int-arrays sondern auch mit anderen datentypen probieren, wo nicht vorher klar ist, wieviel Speicher wie bei int = 4 Byte reserviert wird).
Ich habe folgenden Code geschrieben:
Code:
System.out.println("Memory now: " + Runtime.getRuntime().freeMemory());
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println("Memory now: " + Runtime.getRuntime().freeMemory());
System.out.println(a[7]);
Dazu die Ausgabe:
Code:
Memory now: 1375816
Memory now: 1375816
7
Ich hätte eigendlich eine Änderung des Speichers erwartet. Dann hatte ich die Idee, das der Speicher bereits vor Start des Programms errechnet und reserviert wird. Aber selbst wenn ich das Zeug mit dem Array weglasse, kommt die selbe Ausgabe mit selben Werten.
Nun frage ich euch: Woran kann das liegen und wie kann ich richtig ermitteln, wieviel Bytes mein Array tatsächlich belegt? (Das möchte ich nachher nicht nur mit int-arrays sondern auch mit anderen datentypen probieren, wo nicht vorher klar ist, wieviel Speicher wie bei int = 4 Byte reserviert wird).