重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下java中不同代理的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联是专业的西乡网站建设公司,西乡接单;提供网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西乡网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。
1、JDK代理和CGLIB代理
利用CGLIB实现动态代理,CGLIB底层采用ASM的字节码生成框架,用字节码技术生成代理类,比使用JDK1.6之前的Java反射更有效。惟一要注意的是,CGLIB不能代理声明为final的类或方法,因为CGLIB原理是被代理类动态生成的子类。
逐步优化JDK动态代理:JDK1.6、JDK1.7、JDK1.8后,当调用次数较少时,JDK代理的效率会比CGLIB代理高,只有在大量调用发生时,JDK1.6、JDK1.7才会比JDK1.6、JDK1.7略低一些,但在JDK1.8时,JDK代理的效率会略高一些。因此,如果有接口使用JDK动态代理,如果没有接口使用CGLIB代理。
2、动态代理和静态代理
与静态代理相比,动态代理最大的优点在于,将接口中声明的所有方法转移到调用处理程序的一个集中方法中(InvocationHandler.invoke)。通过这种方式,当接口方法的数量较多时,我们可以进行灵活处理,而不必像静态代理那样,对每个方法都进行中转。
当接口增加一个方法时,除了所有实现类都需要实现该方法之外,静态代理模式还需要实现所有代理类都需要实现该方法,从而增加了代码维护的责任,而动态代理则没有这个问题。
以上是“java中不同代理的区别有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!