Встречается на собеседованиях • сегодня

Какие знаешь виды прокси

В Java есть несколько видов прокси:

  1. Статические прокси – создаются вручную, реализуют интерфейс целевого класса.
    java
    interface Service { void doWork(); }
    class RealService implements Service { ... }
    class ProxyService implements Service {
        private Service realService;
        public void doWork() { /* логирование */ realService.doWork(); }
    }
  1. Динамические прокси (JDK Proxy) – создаются во время выполнения через java.lang.reflect.Proxy.

    java
    Service proxy = (Service) Proxy.newProxyInstance(
        Service.class.getClassLoader(),
        new Class[]{Service.class},
        (proxyObj, method, args) -> { /* логика */ return null; }
    );
  2. Прокси через CGLIB/ByteBuddy – работают с классами (не только интерфейсами).

    java
    Enhancer enhancer = new Enhancer();
    enhancer.setSuperclass(RealService.class);
    enhancer.setCallback((MethodInterceptor) (obj, method, args, proxy) -> { /* логика */ });
    RealService proxy = (RealService) enhancer.create();
  3. Spring AOP Proxy – использует JDK Proxy или CGLIB под капотом.

Динамические прокси чаще применяются в AOP, логгировании, транзакциях.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы