Die Garbage Collection der JVM ist eine praktische Sache und ich glaube kaum ein Java Programmierer möchte da drauf verzichten. Allerdings hat die Bequemlichkeit seinen Preis, Memory Leaks und intensive Garbage Collection sind fast immer ein Nadelöhr wenn es um Performance geht. Daher gibt es im Netz eine ganze Menge Artikel wie Gargabe Collection funktioniert (und wie man daher seine Objekte verwalten sollte), vieles davon ist allgemeine Best Practice, aber manche Sachen unterscheiden sich auch von Herstelle zu Hersteller.
Leider beziehen sich fast alle Artikel (die nicht gerade vom Hersteller der jeweiligen JVM stammen) immer nur auf Sun (bzw. jetzt Oracle) Virtual Maschine und vernachlässigen das es mit der BEA und der IBM JVM noch zwei weitere verbreitete Virtual Maschines gibt, die aber Garbage Collection doch etwas anders lösen. Dynatrace hat diese Tage einen schönen Artikel veröffentlich, der die Gargabe Collection auf unterschiedlichen Systemen einmal bescheibt.
Persönlich halte ich es übrigens für sinnvoll einmal zu verstehen wie Garbage Collection funktionier, halte aber wenig davon Java Code für eine spezielle JVM zu optimieren. Klar gibt es Best Practice (wenige Objekte, kurzer Lebenszyklus, keine zyklischen Abhängigkeiten...) aber Java Code sollte eigentlich auf jeder Plattform und damit auch auf jeder JVM laufen, wenn man zuviel an der Garbage Collection schrauben muss, hat man in der Regel schon bei der Architektur etwas falsch gemacht.
Ähnlich aber nicht gleich - Garbage Collection bei SUN, BEA und IBM
Keine TrackBacks
TrackBack-URL: http://www.joergherbst.de/mt-tb.cgi/79

Jetzt kommentieren