Stringarray durch was ersetzen?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hey all!

Ich hab ein String-array. Ich möchte jedoch ohne index Werte einfügen können? Was soll ich statt einem Stringarray verwenden??

Er meckert mir das an:
Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space


und das hängt mit dem zu großen array zusammen...
 

DaKo

Bekanntes Mitglied
Anonymous hat gesagt.:
Ich hab ein String-array. Ich möchte jedoch ohne index Werte einfügen können? Was soll ich statt einem Stringarray verwenden??

Collection

Anonymous hat gesagt.:
Er meckert mir das an:
Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space


und das hängt mit dem zu großen array zusammen...

Du brauchst mehr Speicher ;)
 

Leroy42

Top Contributor
Naja, wenn deine Objekte z.B. 101 Bytes gross sind,
brauchst du für 10.000 Objekte eben 10.000*(101 + 4) Bytes, also knapp ein Megabyte.
 
S

SlaterB

Gast
theoretisch könnte auch an jeder Stelle des Arrays eine Referenz auf das gleiche Objekt oder schlicht null stehen, dann wären es nur 40000 Byte,

wichtig daran ist: dem Array ist es völlig egal wie groß die Objekte sind,
die Objekte werden nicht an genau dieser Stelle gespeichert!,

das Array ist eine separate Struktur, die für Objekte immer genau 4 Byte pro Element in Anspruch nimmt,
wenn im Heap Platz ist (da sind die anderen Objekte dann durchaus wieder interessant) kann das Array auch Millionen von Feldern lang sein, einfach ausprobieren
 

FelixB

Bekanntes Mitglied
Cheefrocker hat gesagt.:
meine String sind ca. 2 - 6 kb gross. das mal 10000 oder mehr ist bissel blöd...

deiner Collection ist egal, wie groß die Strings sind, da eh nur Referenzen gespeichert werden. Irgendwo im Speicher liegen deine Strings und belegen den Platz. Dafür brauchst du RAM. In der Collection wird nur gespeichert, wo im Speicher der entsprechende String liegt...
 

Cheefrocker

Bekanntes Mitglied
SlaterB hat gesagt.:
theoretisch könnte auch an jeder Stelle des Arrays eine Referenz auf das gleiche Objekt oder schlicht null stehen, dann wären es nur 40000 Byte,

wichtig daran ist: dem Array ist es völlig egal wie groß die Objekte sind,
die Objekte werden nicht an genau dieser Stelle gespeichert!,

das Array ist eine separate Struktur, die für Objekte immer genau 4 Byte pro Element in Anspruch nimmt,
wenn im Heap Platz ist (da sind die anderen Objekte dann durchaus wieder interessant) kann das Array auch Millionen von Feldern lang sein, einfach ausprobieren


ich versteh das nicht ganz was du damit meinst??ß

das heisst wenn ich die collection null setzte und dann werte add(index i, object.....)

dannn belegt er nicht viel speicher???
 

Cheefrocker

Bekanntes Mitglied
Ich hab dann wohl ein generelles problem.

Ich krieg die 10000 Sätze nicht in ein Stringarray. und mit parametern den Ram hochsetzen ist wohl auch keine richtige lösung!


habt ihr lösungsansätze dafür oder ist es wohl besser die daten erstmal wegzuschreiben? und dann einzulesen???
 
S

SlaterB

Gast
> das heisst wenn ich die collection null setzte und dann werte add(index i, object.....)
> dannn belegt er nicht viel speicher???

nein, das heißt, dass du ein leeres Array anlegen kannst und dann nur 40.000 Byte belegst und nicht gleich 1 MB (in dem angenommenen Beispiel),
mit einem leeren Array kannst du aber nicht viel anfangen,
daraus ergeben sich also keine Speichertricks für dein Programm oder ähnliches

--------

> habt ihr lösungsansätze dafür

niemand weiß etwas über dein Programm,
allgemein gilt: richtig, Arbeitsspeicher ist begrenzt, auf Festplatten passen dagegen ein paar GB mehr,
speichern und lesen ist also generell von Vorteil
 

Freddy01010

Mitglied
Hallo!

Um dir Hinweise nach der besten Datenstruktur geben zu können, brauchen wir mehr Informationen.

Je nach dem, was mit diesen Daten passieren soll ist gegebenenfalls eine Datenbank nutzbar. :)
 

Cheefrocker

Bekanntes Mitglied
ich werde wohl die festplatte als zwischenschritt nehmen.

Es handelt sich um XML-Dateien. Wobei ich eigentlich mehr als 10000

XML-Dateien durchgehen muss und identische (mit gleichen Merkmal) finden muss.


falls niemand eine gescheite Lösung hat, werde ich dann über die Festplatte gehen..

danke euch!
 
G

Guest

Gast
Cheefrocker hat gesagt.:
meine String sind ca. 2 - 6 kb gross. das mal 10000 oder mehr ist bissel blöd...

6kb * 10000 sind ungefähr 58mb

Ich weiss zwar nicht wieviel speicher du hast aber das sollte noch kein problem darstellen. Du kannst du Heap ja auch per Parameter vergrößern
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Stringarray an Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
M Umwandlung von StringArray in String Java Basics - Anfänger-Themen 2
T StringArray verlgeichen Java Basics - Anfänger-Themen 27
F Freier Index im Stringarray Java Basics - Anfänger-Themen 3
A Wie kann man einen zufälligen String aus einem StringArray auswählen? Java Basics - Anfänger-Themen 6
P StringArray mit String befüllen Java Basics - Anfänger-Themen 3
G Objekte aus ArrayList in StringArray konvertieren?! Java Basics - Anfänger-Themen 13
M set<String> in ein StringArray umwandeln? Java Basics - Anfänger-Themen 3
J Datentypen Umwandlung von Arraylist in ein StringArray Java Basics - Anfänger-Themen 10
S ermitteln eines Wertes im StringArray Java Basics - Anfänger-Themen 4
J Stringarray als Funktionsparameter Java Basics - Anfänger-Themen 6
A Stringarray toString Java Basics - Anfänger-Themen 5
D OOP StringArray in doubleArray konvertieren Java Basics - Anfänger-Themen 13
K Scanner -> StringArray Java Basics - Anfänger-Themen 7
M StringArray "AA" "AB" "AC". Java Basics - Anfänger-Themen 8
A Stringarray formatieren Java Basics - Anfänger-Themen 2
G Stringelemente in Stringarray verteilen. Java Basics - Anfänger-Themen 3
M StringArray[][] Java Basics - Anfänger-Themen 4
J String -> Stringarray Java Basics - Anfänger-Themen 5
K Stringarray zu Vector hinzufügen Java Basics - Anfänger-Themen 2
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
O Typparameter durch Wildcards verallgemeinern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
J Die Zahl herausfinden die durch 2 - 30 Teilbar ist... Java Basics - Anfänger-Themen 17
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
T Extrahiertes Objekt durch Getter bekommen Java Basics - Anfänger-Themen 2
R Eine Schleife durch eine Methode schließen? Java Basics - Anfänger-Themen 4
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
S For-Schleife durch "ESC" verlassen? Java Basics - Anfänger-Themen 2
C char in String suchen und durch anderen String ersetzen Java Basics - Anfänger-Themen 2
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
V Durch 0 teilen Java Basics - Anfänger-Themen 2
V Durch Methode Objekt löschen Java Basics - Anfänger-Themen 2
D Klasse durch eine Schleife wiederholen Java Basics - Anfänger-Themen 1
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
W Objektname durch Tastaturbefehl eingeben Java Basics - Anfänger-Themen 7
K ArrayList durch ArrayList ersetzen Java Basics - Anfänger-Themen 5
G Objektübergabe durch Parameter Java Basics - Anfänger-Themen 3
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben