JDK动态代理的优点

时间:2013-09-02 11:40:51

标签: java proxy-classes cglib

JDK动态代理有哪些优势?特别是与CGLIB代理相比。 尽管JDK代理不会依赖任何第三方库,但JDK代理的其他优势是什么? 我在几个地方读到CGLIB代理比JDK代理略快。此外,CGLIB代理不需要代理类来实现任何接口。从这看起来CGLIB代理似乎优于JDK代理。这是真的吗?

2 个答案:

答案 0 :(得分:1)

  

我只想了解JDK动态代理的用例及其优点。

用例大致相同/

  

或者他们只是被弃用了?

没有。不推荐使用JDK动态代理。检查javadoc。

  

我应该总是使用CGLIB吗?

不......不总是。你已经确定了一个你不愿意的案例。和@Evgeniy Dorofeev。已经确定了另一个......这个问题也在我链接到的问题中确定了。

要考虑的第三件事是使用哪个版本的CGLIB,以及它是否与您正在使用的其他内容兼容。 (人们会期望JDK动态代理比CGLIB更稳定...基于它的来源。性能不是选择的唯一标准。)

但基本上,您可以自行决定......根据您的实际系统要求,而不是随机推荐。

答案 1 :(得分:0)

使用CGLIB代理类的一个缺点是它无法使用最终方法,因为它们无法被覆盖。