import org.aspectj.testing.Tester; public class EachJVMOnSelf { public static void main(String[] args) { new C(); Tester.checkEqual(A.aspectOf().advisedNewClass, "C"); } } aspect A issingleton() { String advisedNewClass = null; after () returning (): this(*) && execution(new(..)) && !this(A) { advisedNewClass = thisJoinPoint.getSourceLocation().getWithinType().getName(); } } class C { }