Ich schreibe eine Netzspinne. Es funktioniert gut, außer dass es ein Speicherleck zu geben scheint. Das Programm läuft gut für etwa 15 Minuten und dann stürzt es ab.
Wenn ich es mit der Funktion "Profil" in NetBeans überwache, kann ich sehen, dass der Speicher mit der Zeit zunimmt, bis ich schließlich eine java.lang.OutOfMemoryError
und das Programm stürzt komplett ab.
Das Bild unten zeigt Schnappschüsse des Speichers von Objekten, die nach einer Minute und nach 15 Minuten (kurz vor dem Absturz) verwendet werden. Gibt es eine Möglichkeit zu sagen, wo diese Objekte (meine Hauptschuldigen sind byte[]
y char[]
) erstellt werden oder was referenziert sie noch (und verhindert somit, dass sie vom Garbage Collector zerstört werden)?
Oder habe ich keine Ahnung, wovon ich spreche?
Danke, ich weiß die Hilfe zu schätzen.