Frage zum Thema Speicherreservierung

Dit_

Bekanntes Mitglied
Hallo!
Habe folgende Problemstellung:
Java:
Integer[] intArr = new Integer[10000000]; // 1x
List<Integer> list = Arrays.asList(intArr); // 2x
List<Integer> list2 = new ArrayList<Integer>(list); // 3x
List<Integer> list3 = Collections.unmodifiableList(list); // 4x
List<Integer> list4 = Collections.synchronizedList(list); // 5x
Integer[] array = list2.toArray(new Integer[0]);

Die Frage lautet, wie viele Male wird ein Speicherplatz Größe 10000000 reserviert nachdem Programm zu ende ist?
Meine Lösung siehe Kommentare im QuellCode. Bin mir aber nicht sicher...

Könnte bitte jemand Helfen?

Danke schon mal.
 
3x wird der Speicher insgesamt reserviert, einzeln will ich das mal vorerst nicht verraten,
schreib doch zu jedem Punkt eine kleine Begründung oder was du überhaupt vom jeweiligen Befehl kennst

den Speicherbedarf könntest du auch testen/ messen:
Runtime r = Runtime.getRuntime();
long freeMem = r.freeMemory();
usw.
 
Um noch ein wenig Verwirrung zu stiften (vielleicht bin ich ja auch selbst verwirrt): 3x wie SlaterB sagt, ist naheliegend (und im Falle der Sun-Implementierung wohl auch richtig), aber ich könnte mir vorstellen, dass es der Implementierung überlassen ist, sogar mit 2x auszukommen.
 
Ich würde auch 3x sagen, und zwar die ersten drei. 4 und 5 sind höchstwarscheinlich delegates
 

Neue Themen


Zurück
Oben