Встречается на собеседованиях • сегодня
К чему приводит аспект, который запрашивает Pointcut на *.*
Такое указание Pointcut (*.*) приведет к сопоставлению с любым методом любого класса, включая приватные, статические и даже методы системных библиотек. Это крайне неэффективно и может вызвать:
- Серьезные проблемы производительности – AOP-прокси будет создаваться для всех методов, что замедлит приложение.
- Неожиданное поведение – Advice может срабатывать в непредусмотренных местах (например, внутри JDK или Spring).
- Сложности отладки – из-за чрезмерного перехвата вызовов.
Пример (плохая практика):
java
@Aspect
public class BadAspect {
@Before("*.*") // Опасный Pointcut!
public void logAll() {
System.out.println("Advice triggered!");
}
}Как исправить:
Всегда ограничивайте Pointcut конкретными пакетами/классами, например:
@Before("execution(* com.example.service.*.*(..))")

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы