Heap Dumps unter Java auswerten

Manchmal kommt es vor das man eine Java Applikation geschrieben hat, welche aus irgendeinem Grund mehr Speicher verbraucht als sie sollte. Im schlimmsten Fall führt dies zu einem OutOfMemory-Error. Möchte man dem Übeltäter auf die Spur kommen, kann man im ersten Schritt einen Heap Dump bei einem OutOfMemory-Error vornehmen. Dazu fügt man den VM Optionen der JVM den Parameter:

-XX:+HeapDumpOnOutOfMemoryError

hinzu. Dieser Parameter sorgt dafür, das im Falle eines OutOfMemory-Error, ein Dump des Heaps auf der Festplatte landet. Das Problem an diesem Dump ist allerdings, das er sich händisch schlecht auswerten lässt. Abhilfe schafft hier das freie Werkzeug Eclipse Memory Analyser.

Eclipse Memory Analyser

Eclipse Memory Analyser

Mit diesem ist es möglich den Heap Dump einzulesen und anschließend unter Zuhilfenahme der Analysefunktion dem Memory Leak auf die die Spur zu kommen. Bezogen werden kann das Tool über die offizielle Webseite. Lizenziert ist der Memory Analyser unter der Eclipse Public License und damit freie Software.

Robocode

Sich einen Roboter bauen und diese gegen andere Roboter kämpfen zu lassen, kann relativ schnell ins Geld und Material gehen. Einfacher wird es dabei mit Robocode, wobei es sich um eine Softwareumgebung handelt, in welcher Roboter programmiert werden können. Anschließend treten diese in einer virtuellen Arena gegeneinander an.

Die Bots im Kampf gegeneinander

Die Bots im Kampf gegeneinander

Geschrieben werden die Roboter in Java. Dabei finden sich eine Menge Beispiele in der Robocode Installation. Bei Robocode selbst handelt es sich um Open Source Software welche unter der Eclipse Public License steht. Die offizielle Webseite ist unter http://robocode.sourceforge.net/ zu finden. Lauffähig ist das ganze unter Linux, Mac OS X und Windows.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Robocode