Array
-
Hallo. Ich möchte gerne eine sehr sehr großen array erstellen, doch leider kann ich nur einen array mit der anzahl von felder im bereich der integer zahlen erstellen. kennt einer eine bessere methode um das zu realisieren.
BigInteger[] test = new BigInteger[Integer.MAX_VALUE]/*Da kommt immer der Fehler-->java.lang.OutOfMemoryError beim ausführen auch mit einem -1 hinter Integer.MAX_VALUE kommt noch ein fehler. das verstehe wer will. */
Ich will einen array mit der größe eines bestimmten BigInteger erstellen, doch das kann java irgendwie nicht. Hoffe einer von euch kennt sich da aus.
danke für eure hilfe
-
Ich weis nicht, aber vielleicht steht ja -1 für die größt mögliche BigIntegerzahl. Und das dann einOutOfMemoryError kommt, dass liegt vielleicht ja einfach daran, dass eben nicht genug speicher zur Verfügung steht?
-
Wofuer brauchst Du so ein grosses Array? Kommt mir irgendwie krank vor.
-
Java kann sowieso nur maximal 2 GB an Speicher verwalten. Das entspricht einem byte-Array von der Größe des maximalen int-Wertes. Mehr ist einfach nicht drin und eigentlich ist es sogar etwas weniger.
Hast du denn einen PC mit mehr als 2GB virtuellem Speicher? Wenn ja: Wieviel GB sind es denn? 4GB? Naja, viel weiter kommt man damit auch nicht.
-
ich würde deine 4 GB ram dann noch mit lauter fliesskomma zahlen füllen und diese dann miteinander dividieren......
-
2. Normalerweise steht einem Javaprogramm sogar nur 64MB Speicher zur Verfügung. Mehr geht nur, wenn man das Programm mit einer bestimmten Option startet.
-
Ich finde es auch seltsam so ein großes Array erstellen zu wollen. Überlege dir mal ob du
a) Alle Werte im Speicher haben musst
b) nicht durch Speicherorganisation (blockweise arbeiten) besser wegkommstSo viel Speicher zu brauchen ist ziemlich seltsam und wahrscheinlich auch gar nicht nötig.
-
CengizS schrieb:
So viel Speicher zu brauchen ist ziemlich seltsam und wahrscheinlich auch gar nicht nötig.
Hatte Bill Gates nicht sowas ähnliches gesagt über einen Speicherbedarf von mehr als 640 Kb ? Irgendwann in den 80'ern.
-
Ja, der sagte, dass der Hauptspeicher nicht größer sein müsste. Ich rede aber daovn, dass ein Programm nicht mehr als 2GB Speicher benötigen sollte. Oder schreibst du Programme, die von Anfang bis zum Ende erzeugte Objekte ständig benötigen? *wunder*
-
In ein paar Jahren wird ein Speicherbedarf im GB Bereich ganz normal sein.
Sobald 10 GB Arbeitsspeicher in PCs normal sind, werden auch die neuesten Spiele diesen Speicher ausnutzen und mehrere GB benötigen.
-
Wir reden aber von Java im Jahre 2003 und wenn meine Java-Programme Speicher jenseits 256MB benötigen (außer EnterpriseApps) dann werde ich Moderator von einem .NET-Forum
-
Und was ist mit Videobearbeitung, -manipulation, -schnitt, usw.
Mit 256MB kann man nur ein paar Sekunden Film im Speicher halten, denn man muss es ja dekomprimieren um es bearbeiten zu können.
-
Kennst du den Spruch "Wie Öl auf Wasser..."?
-
Ich glaube kaum, dass du einen 1,2GB Film komplett im Speicher behälst