Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Преимущества динамических прокси JDK

Автор вопроса: Ondrej BozekОтветов: 2

Каковы преимущества динамических прокси JDK? Особенно по сравнению с прокси CGLIB. Несмотря на то, что прокси-серверы JDK не зависят от какой-либо сторонней библиотеки, каковы другие преимущества прокси-серверов JDK?
Я читал в нескольких местах, что прокси-серверы CGLIB немного быстрее, чем прокси-серверы JDK. Также прокси-серверы CGLIB не требуют прокси-класса для реализации какого-либо интерфейса. Из этого кажется, что прокси-серверы CGLIB превосходят прокси-серверы JDK. Это правда?

  • возможный дубликат В чем разница между динамическим прокси JDK и CGLib? Stephen C 02.09.2013
  • Я просто хочу знать варианты использования динамических прокси JDK и их преимущества. Или они просто устарели? Должен ли я всегда использовать CGLIB вместо этого? Это не ответ на ответ, который вы предлагаете! Ondrej Bozek 02.09.2013

javaproxy-classescglib

Ответы

Ответ 1 · рейтинг 1 · Stephen C

Я просто хочу знать варианты использования динамических прокси JDK и их преимущества.

Варианты использования примерно одинаковы /

Или они просто устарели?

Нет. Динамические прокси-серверы JDK не устарели. Проверьте javadoc.

Должен ли я всегда использовать CGLIB вместо этого?

Нет... не всегда. Вы уже определили один случай, когда не стали бы. И @Евгений Дорофеев. Идентифицировал другой ... который также был идентифицирован в Вопросе, на который я ссылался!

Третье, что нужно учитывать, это какую версию CGLIB использовать и совместима ли она с другими используемыми вами вещами. (Можно было бы ожидать, что динамические прокси JDK будут более стабильными, чем CGLIB... в зависимости от того, откуда они взялись. Производительность - не единственный критерий выбора.)

Но в основном решать вам самим... исходя из ваших реальных системных требований, а не каких-то случайных рекомендаций.

Ответ 2 · Evgeniy Dorofeev

Одним из недостатков проксирования классов с помощью CGLIB является то, что он не может работать с окончательными методами, поскольку их нельзя переопределить.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы