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

От чего зависит CGLib

CGLib (Code Generation Library) — это библиотека для генерации байткода в runtime. Её производительность и возможности зависят от:

  1. Версии Java – CGLib использует внутренние API JVM, которые могут меняться между версиями.
  2. Настройки JVM – например, -XX:+UseFastAccessorMethods может влиять на производительность сгенерированных прокси.
  3. Ограничения final – CGLib не может проксировать final-классы и методы (в отличие от Java Proxy).
  4. Конструкторы – требует наличия конструктора по умолчанию у проксируемого класса.

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

java
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(MyClass.class);
enhancer.setCallback((MethodInterceptor) (obj, method, args, proxy) -> {
    System.out.println("Before method");
    return proxy.invokeSuper(obj, args);
});
MyClass proxy = (MyClass) enhancer.create();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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