Spring AOP: в чем разница между JoinPoint и PointCut?

Я изучаю концепции аспектно-ориентированного программирования и Spring AOP. Я не понимаю разницу между Pointcut и Joinpoint - оба они кажутся одинаковыми для меня. Pointcut - это место, где вы применяете ваш совет, а Joinpoint - это место, где мы можем применить наш совет. Тогда какая разница?

Примером pointcut может быть:

@Pointcut("execution(* * getName()")

Что может быть примером Joinpoint?