JDK动态代理有哪些优势?尤其是与 CGLIB 代理相比。尽管 JDK 代理不依赖任何第三方库,但 JDK 代理的其他优点是什么?
我在几个地方读到 CGLIB 代理比 JDK 代理稍快。此外,CGLIB 代理不需要代理类来实现任何接口。由此看来,CGLIB 代理似乎优于 JDK 代理。真的吗?
问问题
988 次
2 回答
1
我只想知道 JDK 动态代理的用例及其优势。
用例大致相同/
或者它们只是被弃用了?
不,不推荐使用 JDK 动态代理。检查javadoc。
我应该总是使用 CGLIB 吗?
不……并非总是如此。您已经确定了一种您不会确定的情况。还有@Evgeniy Dorofeev。已确定另一个...在我链接到的问题中也已确定!
要考虑的第三件事是使用哪个版本的 CGLIB,以及它是否与您正在使用的其他东西兼容。(人们会期望 JDK 动态代理比 CGLIB 更稳定......基于它的来源。性能不是选择的唯一标准。)
但基本上,由您自己决定......根据您的实际系统要求,而不是一些随机的建议。
于 2013-09-02T14:42:31.957 回答
0
使用 CGLIB 代理类的一个缺点是它不能与 final 方法一起使用,因为它们不能被覆盖。
于 2013-09-02T11:52:42.240 回答