Byte-Array könnte evtl. theoretisch fast möglich sein mit int-Max hinzubekommen.
Fangen wir mal an, dass du mit 32-Bit OS im RAM nicht mehr als 2^32 Byte speicher ansprechen kannst. Dann braucht das OS noch was und das Speichermanagement natürlich auch, also bleiben dir effektiv vmtl. um die 3,5GB. Wobei ein einzelnes Objekt mit 2GB begrenzt wurde. Ausnahmen gibt es dann seit 4.5...
Aber bei einem array ist der Indizierer nunmal int, da macht es sowieso keinen Sinn etwas größer als int.MaxValue möglich zu machen.(Zumindest bei Byte, alles was größer als Byte ist hat natürlich auch weniger indizes)...
Jetzt hast du bei deinem OS natürlich nicht sonderlich viel mehr als 3,5GB, dies sorgt dafür, dass dein OS deiner Anwendung natürlich nicht gleich allen Speicher gibt sondern nur einen Teil zur Verfügung stellt, das sorgt sehr wahrscheinlich dafür, dass deine Anwendung nichtmal 2GB zur Verfügung hat und dein einzelnes Array natürlich noch weniger...
Also ergeben größere Arrays bei 32Bit sowieso keinen Sinn.
Vlt. wäre es einmal eine Überlegung wert dir ein 64Bit PC anzuschaffen, ich dachte 32-Bit wäre schon ausgestorben bis auf PS
Fangen wir mal an, dass du mit 32-Bit OS im RAM nicht mehr als 2^32 Byte speicher ansprechen kannst. Dann braucht das OS noch was und das Speichermanagement natürlich auch, also bleiben dir effektiv vmtl. um die 3,5GB. Wobei ein einzelnes Objekt mit 2GB begrenzt wurde. Ausnahmen gibt es dann seit 4.5...
Aber bei einem array ist der Indizierer nunmal int, da macht es sowieso keinen Sinn etwas größer als int.MaxValue möglich zu machen.(Zumindest bei Byte, alles was größer als Byte ist hat natürlich auch weniger indizes)...
Jetzt hast du bei deinem OS natürlich nicht sonderlich viel mehr als 3,5GB, dies sorgt dafür, dass dein OS deiner Anwendung natürlich nicht gleich allen Speicher gibt sondern nur einen Teil zur Verfügung stellt, das sorgt sehr wahrscheinlich dafür, dass deine Anwendung nichtmal 2GB zur Verfügung hat und dein einzelnes Array natürlich noch weniger...
Also ergeben größere Arrays bei 32Bit sowieso keinen Sinn.
Vlt. wäre es einmal eine Überlegung wert dir ein 64Bit PC anzuschaffen, ich dachte 32-Bit wäre schon ausgestorben bis auf PS
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---
---Leer---