# OutOfMemoryError: Heap Space



## Spacerat (24. Mai 2005)

Und gleich ein weiteres Prob. Nu hab' ich unheimlich viele Applets auf einer Seite (hier). Wenn man diese Seite öfters neu lädt, bekomme ich ein "OutOfMemoryError: heap space". Fakt ist, das ich in diesen Applets serialisierte Images (wie das geht ist 'ne andere Sache...) verwende, bei dessen deserialisierung jede Menge "GARBAGE" produziert wird und jeweils einen Thread, der diese Images "getSubImage()" animiert. Irgendwie habe ich das Gefühl, das die Applets nicht richtig "destroyed" werden, da deren Threads in der Liste der Konsole noch auftauchen. Wie kann ich nun sicherstellen, das beim zerstören des Applets dessen Speicher wieder Freigegeben wird?

cu Spacerat


----------



## AlArenal (24. Mai 2005)

Applets haben eine Beschränkung auf 64 MB. Da gibts auch keinen Weg drumrum, keinen Parameter, nix.

Abhilfe schaffen nur Client-Server-Lösungen oder Webstart-Anwendungen.


----------



## Spacerat (24. Mai 2005)

Na ja... Das ist nichts neues. Es ging mehr darum, das die Applets nach einem DESTROY durch neuladen auch den Speicher wieder freigibt, was sie offensichtlich nicht tun, da dessen Threads immernoch in besagter Liste auftauchen. Ich meine, sie starten einmal... und nach 'nem Reload is' schlonz.

cu Spacerat


----------



## Sky (25. Mai 2005)

AlArenal hat gesagt.:
			
		

> Applets haben eine Beschränkung auf 64 MB. Da gibts auch keinen Weg drumrum, keinen Parameter, nix.
> 
> Abhilfe schaffen nur Client-Server-Lösungen oder Webstart-Anwendungen.



Das stimmt nicht. Der User kann im JAVA Plug-In ControlPanel (liegt bei mir: E:\Java\1.4.2-06\jre\bin\jpicpl32.cpl) unter "Erweitert" den Laufzeit-Parameter "-Xmx" (also z.B. "-Xmx256m" für 256 MB) angeben.


----------



## AlArenal (25. Mai 2005)

sky80 hat gesagt.:
			
		

> Das stimmt nicht. Der User kann im JAVA Plug-In ControlPanel (liegt bei mir: E:\Java\1.4.2-06\jre\bin\jpicpl32.cpl) unter "Erweitert" den Laufzeit-Parameter "-Xmx" (also z.B. "-Xmx256m" für 256 MB) angeben.



Okay, ist richtig, da war ich etwas unpräzise. Das ändert aber meistens nichts am grundlegenden Problem. Nutzt du das Applet auf deiner Website kannst du nicht jeden DAU vorher bitten im Plugin rumzuschrauben und ist das Applet Teil einer Intranet-Anwendung, stöhnen genug IT-Abteilungen schon weil sie Java auf den Clients installieren müssen, aber würden rattendolle werden, sollten die auch noch irgendwo händisch Einstellungen machen müssen.


----------

