AspectJ es un lenguaje de programación orientado por aspectos construido como una extensión del lenguaje Java creado en Xerox PARC.
Un compilador de AspectJ hace llegar la noción de aspecto hacia el código de máquina virtual implementando así una noción de relación.
Los aspectos en sí se escriben en Java extendido generándose un archivo java o compilado con código de máquina compatible con el generado por los compiladores de Java.
Entre las ventajas del lenguaje AspectJ se pueden citar: Por otro lado, el lenguaje AspectJ ofrece los siguientes inconvenientes: Existen al menos dos compiladores de AspectJ: