Каковы преимущества динамических прокси JDK? Особенно по сравнению с прокси CGLIB. Несмотря на то, что прокси-серверы JDK не зависят от какой-либо сторонней библиотеки, каковы другие преимущества прокси-серверов JDK?
Я читал в нескольких местах, что прокси-серверы CGLIB немного быстрее, чем прокси-серверы JDK. Также прокси-серверы CGLIB не требуют прокси-класса для реализации какого-либо интерфейса. Из этого кажется, что прокси-серверы CGLIB превосходят прокси-серверы JDK. Это правда?
Преимущества динамических прокси JDK
Ответы (2)
Я просто хочу знать варианты использования динамических прокси JDK и их преимущества.
Варианты использования примерно одинаковы /
Или они просто устарели?
Нет. Динамические прокси-серверы JDK не устарели. Проверьте javadoc.
Должен ли я всегда использовать CGLIB вместо этого?
Нет... не всегда. Вы уже определили один случай, когда не стали бы. И @Евгений Дорофеев. Идентифицировал другой ... который также был идентифицирован в Вопросе, на который я ссылался!
Третье, что нужно учитывать, это какую версию CGLIB использовать и совместима ли она с другими используемыми вами вещами. (Можно было бы ожидать, что динамические прокси JDK будут более стабильными, чем CGLIB... в зависимости от того, откуда они взялись. Производительность — не единственный критерий выбора.)
Но в основном решать вам самим... исходя из ваших реальных системных требований, а не каких-то случайных рекомендаций.
Одним из недостатков проксирования классов с помощью CGLIB является то, что он не может работать с окончательными методами, поскольку их нельзя переопределить.