每日八股系列(25)静态代理与动态代理的区别#java面试#动态代理#静态代理#底层原理#八股

48
8
29
2
举报
发布时间:2025-04-20 22:54
全部评论
大家都在搜:
煮啵最新一期29已经开始口播啦[舔屏]大家期待一下吧
7月前·安徽

0

分享
回复
静态代理放在springboot 三层架构项目中就是UserService 和UserServiceImpl吧?动态代理我听到好多次,没去细致研究过比如:1.近期学外卖涉及redis缓存这方面spel表达式(@EnableCaching开启缓存功能@Cacheable、在执行查询操作时(也可能有其他用处我只学了查询用处)时会动态代理查询提供字段的redis数据,这就是为什么redis数据库查询比mybatis查询快()如果redis库中没有要查的字段就会调用这个注解所在方法里的程序[看],哦对想起来了,就是因为他是动态代理,如果redis库中存在你想查询的字段,就直接返回你想要的对象 不用调用这个注解 所以动态代理提升了查询效率[看]。接着第三个狗头继续说 动态代理没有查询到你想要的字段会调用下面程序的同时再把此字段添加进redis库。能力有限 我讲的不好[流泪]@CacheEvict、这个跟上面原理是一样的,动态代理但是我不太了解 具体的解释我放下面了@CachePut 执行新增更新时使用),被标注的方法每次都会被调用,然后方法执行完毕之后,会将方法结果丢到缓存中;
7月前·河南

0

分享
回复
首先哈,mybatis是orm框架,模型与库表映射,用途是帮你更方便的使用mysql数据库。按照你的意思就是,redis比mysql访问的更快。我看到你有说使用了注解,这个注解我没用过但我大致上知道应该是spring标准库提供的关于redis缓存使用的注解,或者说是其他第三方库提供的注解。这个注解就是aop切面,进行的动态代理。但动态代理只是功能的增强。并不是动态代理加快了访问速度。而是动态代理织入的增强逻辑,这个代码帮你调用了redis数据库,命中缓存。获取数据。
7月前·安徽

1

分享
回复
...
一堆废话 直接说编译时确认和运行时确认代理对象不行吗
7月前·广东

0

分享
回复
抱歉哦[流泪],下次我会更加简洁
7月前·安徽

0

分享
回复
木木八股大王(备战春招版)

猜你喜欢

推荐视频

热榜推荐