JDK动态代理有哪些优势?特别是与CGLIB代理相比。 尽管JDK代理不会依赖任何第三方库,但JDK代理的其他优势是什么? 我在几个地方读到CGLIB代理比JDK代理略快。此外,CGLIB代理不需要代理类来实现任何接口。从这看起来CGLIB代理似乎优于JDK代理。这是真的吗?
答案 0 :(得分:1)
我只想了解JDK动态代理的用例及其优点。
用例大致相同/
或者他们只是被弃用了?
没有。不推荐使用JDK动态代理。检查javadoc。
我应该总是使用CGLIB吗?
不......不总是。你已经确定了一个你不愿意的案例。和@Evgeniy Dorofeev。已经确定了另一个......这个问题也在我链接到的问题中确定了。
要考虑的第三件事是使用哪个版本的CGLIB,以及它是否与您正在使用的其他内容兼容。 (人们会期望JDK动态代理比CGLIB更稳定...基于它的来源。性能不是选择的唯一标准。)
但基本上,您可以自行决定......根据您的实际系统要求,而不是随机推荐。
答案 1 :(得分:0)
使用CGLIB代理类的一个缺点是它无法使用最终方法,因为它们无法被覆盖。