Wednesday, April 25, 2007

jax.07 Day 1 (cont'd)

Alright, yesterday's memory analysis talk was not that bad in the end. In fact their tool has its advantages over the usual suspects (at least I have never tried to load a 6GB 64bit heap dump with one of the tools I know). Apparently it only needs a somewhat powerful machine to initially parse the dump and generate some indices, but after that, any decent 32bit machine will work for the analysis. I will probably give it a try when I am back at work - "fortunately" we have been seeing some OutOfMemoryErrors while using FindBugs from the ant build. Maybe this can give us an idea.

Todays final session - after the "Web 2.0 and SOA" keynote (anyone else tired of hearing this everywhere?) was called "Schweinkram: Abstrakte Klassen dynamisch generieren" ("Nasty stuff: Dynamically generating abstract classes") by Michael Wiedeking. This one was really great. Not only was the topic very interesting, but the speaker was also presenting it in a very humorous but still professional way. Top ratings for this one, although I am not really sure I would want the things he talked about in any production system. Nevertheless it was very cool information.

Without going into too much detail I just try to summarize what the talk was all about: Trying to set up some tests for his code Michael realized that Java's proxy objects could not be used, because they can only be created for interfaces, not for abstract classes which would have been required. So he started figuring out how to do it anyway and came up with a (still experimental) way of changing a class's bytecode on the fly by either adding new methods or even replace on method's code with that of another. Very intriguing any very informative.

1 comment:

Anonymous said...

Hi Daniel,
As far as I know JProfiler doesn't support the concept of "retained memory". At least last time I checked it didn't. Also last time It tried to load a heap dump of about 300Mbyte it would just crash. Then there's no profiler yet that does support the dominator tree approach, except some experimental IBM tool.


Regards,
Markus(my blog)