« Remembering Ragin Miller | Main | BCEL: lighter than it looks »

No time for reflection

This weekend I reintroduced myself to Java bytecode engineering by way of BCEL and AspectJ. It is a shame that AspectJ is still not capable of being integrated into IntelliJ IDEA. I elected to set up Eclipse solely for the purposes of conducting aspect-oriented profiling and tracing. This is beneficial in the end because it forces me to keep the aspects completely from the rest of my codebase. I'll very likely not be shipping them with the final release of the project I'm currently working on.

I came up against a possibly major performance bottleneck in my design wherein I use reflection to invoke various methods on POJOs. I was worried for about three minutes. After a brief google search, I found a very helpful article on Java bytecode engineering and how to use BCEL for runtime class generation. I can now wrap up the POJOs at runtime with some just-in-time glue code and make the method calls directly instead of through reflection.

That's great.

Very soon I'll make a major public announcement about the project I've been squirreled away working on for the whole of the last month. I want to make sure I have my legal ducks in a row before I release any of the code, and I want to make sure that its features justify my evangelism. I think they will.

TrackBack

TrackBack URL for this entry:
http://blog.lib.umn.edu/cgi-bin/mt-tb.cgi/10897

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)