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

Как Proxy заменяет оригинальный объект

Proxy в Java - это объект-заместитель, который контролирует доступ к другому объекту. Он реализует тот же интерфейс, что и оригинальный объект, но перехватывает вызовы методов, позволяя добавить дополнительную логику (логирование, проверки, кеширование).

Пример с динамическим прокси:

java
interface Service {
    void doWork();
}

class RealService implements Service {
public void doWork() {
System.out.println("Real work");
}
}

InvocationHandler handler = (proxy, method, args) -> {
System.out.println("Before method call");
Object result = method.invoke(new RealService(), args);
System.out.println("After method call");
return result;
};

Service proxy = (Service) Proxy.newProxyInstance(
Service.class.getClassLoader(),
new Class[]{Service.class},
handler
);

proxy.doWork(); // Вызов через прокси

text

Proxy полностью заменяет оригинальный объект для клиента, но делегирует вызовы реальному объекту, добавляя свою логику.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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