当前位置:首页 > CN2资讯 > 正文内容

#yyds干货盘点# 设计模式之静态代理,jdk动态代理,cglib动态代理的区别jdk静态代理和动态代理

8小时前CN2资讯

设计模式之静态代理,jdk动态代理,cglib动态代理的区别

1.简述:

代理模式就是可以在不改变目标类的前提下,为目标类额外增加相应的功能。

因为需求是一个不断迭代的过程,在我们解决需求的同时,我们也会不断的对技术进行更新。我们知道了,静态代理要求目标类和代理类都必须实现同一个接口,扩展容易造成类的膨胀;知道了应用jdk动态代理前提是目标类基于统一的接口,代理方式使系统比较灵活;而cglib不能对final修饰的类进行代理。所以我们可以根据需求来采用相应的代理模式。

2.主要区别:

静态代理:对真实对象进行封装,不会修改目标类的代码。

不好:如果多个不同类型的目标对象需要代理时,就的建立多个代理类,造成类的膨胀,代码的冗余。编译期加入,系统不够灵活。


jdk动态代理:可以解决创建多个静态代理的麻烦,避免不断的重复多余的代理;是在程序运行时动态获取目标对象的,采用了反射,而反射机制在生成类的过程中比较高效的。

不好:系统灵活了,性能就低了,jdk动态代理效率比静态代理慢一点;且只能对实现了接口的类进行代理。


cglib动态代理:底层采用了asm来实现,asm在生成类的过程中比较高效,其实一般来说cglib效率比jdk动态代理高。可以对目标类生成一个资料,并覆盖其中方法实现增强。

不好:采用了继承机制,所有不能对fianl修饰的类进行代理。




    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24711.html

    分享给朋友:

    “#yyds干货盘点# 设计模式之静态代理,jdk动态代理,cglib动态代理的区别jdk静态代理和动态代理” 的相关文章

    绿云:数字化转型与创新解决方案的行业领导者

    绿云在多个领域的业务发展展现了其强大的行业影响力。从数字乡村服务到酒店数字化解决方案,绿云的创新模式和技术实力为其赢得了广泛的市场认可。 绿云信息有限公司的数字乡村服务 通辽市绿云信息有限公司作为数字乡村服务的领军企业,专注于三农领域的信息化服务。公司通过提供数字农业、乡村治理、农业农村大数据和创新...

    DC3 CN2 VPS方案分析:搬瓦工的性价比之选

    在了解搬瓦工的服务时,我发现了DC3 CN2这个机房方案。它位于美国洛杉矶,是搬瓦工(BandwagonHost)推出的一项虚拟专用服务器(VPS)方案。选择这个机房的用户通常是因为它的网络性能和价格平衡。在洛杉矶的QNET(QuadraNet)机房基础上,搬瓦工向QNET买断了部分CN2 GT线路...

    全面提升VPS性能测试与优化方法指南

    VPS性能测试概述 在使用VPS的过程中,了解它的性能测试显得尤为重要。VPS性能测试是一种评估虚拟专用服务器性能的手段,可以帮助我们清晰地了解VPS的状态与能力。这项测试不仅关注CPU型号、内存大小等硬件配置,还涵盖了磁盘存储量、操作系统版本以及虚拟化程序等多个方面的检测。通过这些参数,我们能对V...

    SpartanHost VPS主机评测:高性能与安全性的理想选择

    在我开始探索VPS主机市场时,SpartanHost引起了我的注意。这个公司成立于2013年,自那时起便在行业中扎根,专注于提供高性能的VPS解决方案。他们使用的是基于KVM架构的主机产品,充分满足用户的需求。从他们的运营历史来看,尽管时间不算很久,但SpartanHost凭借其稳定的服务和灵活的选...

    腾讯云学生福利:低价云服务助力学生云计算学习

    在当今信息技术飞速发展的时代,云计算已成为重要的学习与开发工具。腾讯云紧跟时代步伐,为学生群体量身定制了一系列服务和优惠政策。我很高兴看到这样一个平台,尤其是在我们学习云计算和相关技术的过程中,它为我们提供了极大的便利。 腾讯云的学生服务旨在帮助我们更好地学习和实践云计算技术。通过这些服务,学生能够...

    深入了解DC9飞机的历史、技术特点与运营经验

    DC9概述 了解DC9这款飞机,首先得从它的历史说起。DC9,或称道格拉斯DC-9,是由道格拉斯飞机公司设计制造的中短程单通道喷气式客机。这款飞机的诞生可以追溯到20世纪60年代。道格拉斯公司在这段时间逐步崛起,骄傲地推出了DC9作为回应当时日益增长的民航市场需求。最初的设计版本虽然体积不大,但凭借...