What is AspectJ? Where can i find more information? What capabilities does it add to the Java Language?

Davanum Srinivas

Using ordinary Java, it can be difficult to modularize design concerns such as

  • system-wide error-checking strategies
  • design patterns
  • synchronization policies
  • resource sharing
  • distribution concerns
  • performance optimizations

AspectJ is a simple and practical extension to the Java programming language that adds to Java aspect-oriented programming (AOP) capabilities. AOP allows developers to reap the benefits of modularity for concerns that cut across the natural units of modularity. In object-oriented programs like Java, the natural unit of modularity is the class. In AspectJ, aspects are concerns that affect more than one class.

More information can be found at: