J
julari
Gast
HAllo zusammen!
Ich habe lange in Google geschaut, aber keine Antwort auf mein Problem gefunden.
Ich habe folgendes grosses Objekt:
Davon erzeuge ich nach einlesen eines XML files etwa 3.5 Mio. Stück!
Es gibt natürlich einen memory error in Java (heap space).
Ich muss, um Berechnunge zu machen, diese Features (welche geordnet sind zB nach Masse) komplett durchgehen.
Was kann ich tun um das Speicherproblem zu lösen?
Wenn ich die 3.5 Mio Features auf der Festplatte abspeichere statt in einer ArrayList, dann habe ich eigentlich auch keinen Vorteil,oder? Denn dann muss ich alles auch wieder einlesen und habe anschliessend wieder eine ArrayList<Features> Struktur mit 3.5 Mio. Einträgen.
Oder sehe ich das falsch?
Was kann also tun, um die Daten sukkzessive und am Stück durchzugehen, ohne sie im Hauptspeicher halten zu müssen?
Vielen Dank!
Ich habe lange in Google geschaut, aber keine Antwort auf mein Problem gefunden.
Ich habe folgendes grosses Objekt:
Java:
public class Feature extends Spectrum.Peak
{
public float time = 0;
public float mass = 0;
public int charge = 0;
protected boolean accurateMZ = false;
public float kl = -1.0F;
public float dist = -1.0F;
public int peaks = 1;
public boolean skippedPeaks = false;
public int chargeStates = 1;
protected String description;
public int scanFirst;
public int scanLast;
public float totalIntensity = 0F;
public float proportional_intensity=0F;
public int scanCount = -1;
public static float MZ_RANGE = .04f;
public boolean fits_4_6_pattern;
public boolean fits_0_10_pattern;
public boolean overlap;
public int running_scan_number;
public Feature[] observed_isotopic_pattern;
public float[] theoretical_isotopic_pattern;
public int observed_isotopic_pattern_length;
public int[] exclude_index;
public boolean rejected;
public int index;
public double observed_isotopic_pattern_intensity_sum;
public float sn;
public boolean FeatureFragmented;
}
Davon erzeuge ich nach einlesen eines XML files etwa 3.5 Mio. Stück!
Es gibt natürlich einen memory error in Java (heap space).
Ich muss, um Berechnunge zu machen, diese Features (welche geordnet sind zB nach Masse) komplett durchgehen.
Was kann ich tun um das Speicherproblem zu lösen?
Wenn ich die 3.5 Mio Features auf der Festplatte abspeichere statt in einer ArrayList, dann habe ich eigentlich auch keinen Vorteil,oder? Denn dann muss ich alles auch wieder einlesen und habe anschliessend wieder eine ArrayList<Features> Struktur mit 3.5 Mio. Einträgen.
Oder sehe ich das falsch?
Was kann also tun, um die Daten sukkzessive und am Stück durchzugehen, ohne sie im Hauptspeicher halten zu müssen?
Vielen Dank!
Zuletzt bearbeitet von einem Moderator: