AspectJ is a seamless aspect-oriented extension to Java that enables the modular implementation of a wide range of crosscutting concerns.
AspectJ is
a seamless aspect-oriented extension to the Java programming language
Java platform compatible
easy to learn and use
freely available under an Open Source license
AspectJ enables :
the clean modularization of crosscutting concerns such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols
AspectJ release includes
a compiler, structure browser, debugger, and javadoc extension
IDE support for Eclipse, Emacs, Forte and JBuilder
a tutorial, development guide, programming guide, and examples