Maximale ArrayGröße?



  • Ich möchte gerne wissen ob es in Java eine maximale Array-Größe gibt und was passiert wenn ich eine Datei hätte die mehr bytes hat als long darstellen kann und ich dann File.length aufrufe.



  • die maximale array größe ist theoretisch Integer.MAX_VALUE und praktisch wohl viel eher dein verfügbarer RAM 🙄

    arror schrieb:

    wenn ich eine Datei hätte die mehr bytes hat als long darstellen kann und ich dann File.length aufrufe.

    na die datei will ich sehen 🙄



  • war eher eine hypothetische frage 😋


  • Mod

    hab auch nen langes array schrieb:

    die maximale array größe ist theoretisch Integer.MAX_VALUE und praktisch wohl viel eher dein verfügbarer RAM 🙄

    Der maximale Integer läuft bei einem byte-Array auf 2GB Speicherplatz hinaus. Heutzutage hat man durchaus schon mehr RAM. Ich habe zum Beispiel 8GB RAM.


  • Mod

    arror schrieb:

    war eher eine hypothetische frage 😋

    Naja, long jenseits des Erreichbaren, was Datei-Größen betrifft. Und das wird es auch bleiben. Dauerhaft.



  • arror schrieb:

    Ich möchte gerne wissen ob es in Java eine maximale Array-Größe gibt und was passiert wenn ich eine Datei hätte die mehr bytes hat als long darstellen kann und ich dann File.length aufrufe.

    Ja so eine Grenze gibt es, die hat jetzt aber nur bedingt etwas mit der Größe von long zu tun.

    Die 32Bit JVM schafft so um die 2 GB, wenn du in diese Größenordnung kommst wird der GC fast den ganzes System auslasten und irgendwann fliegt dir eine OutOfMemoryException um die Ohren.

    http://java.sun.com/docs/hotspot/HotSpotFAQ.html#gc_heap_32bit

    Für die 64 Bit VM dann so viel wie du verbaut hast, mehr anzugeben lohnt nicht da er dann sowieso anfängt mit pagen und dein Programm richtig derb langsam wird, die momentane "physikalische" Grenze für ein zB. 64 Bit Vista Ultimate liegt bei 128 GB.

    http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx

    Dazu muss man sagen, rein vom Design her könnten die Betriebssysteme natürlich mehr, MS gibt jedoch das an was sie wohl getestet zum Laufen gebracht haben.


Anmelden zum Antworten