spring的三级缓存如何解决循环依赖

什么是循环依赖? 官方解释 虽然官方提倡使用构造方法来依赖注入,但是构造方法解决不了循环依赖,可以使用setter方法来解决。 个人理解 a对象持有b对象的引用,b对象持有a对象的引用。这样说好像察觉不到问题,可以试想下当我们自己创建a对象时,是不是先要调用a对象的构造方法,然后再进行属性的填充,这才是一个完整的a对象,但是当调用对象a的构造方法后,发现需要先拿到完整的b对象,则需要先完成b对象的创建,然后调用b对象的构造方法,b对象进行属性填充时,发现需要a对象,然后无限的循环下去。。。 ...

August 17, 2023 · 3 min

动态代理

CGLIB动态代理使用介绍 一、前言 说到动态代理,开发者们第一时间想到的就是JDK动态代理和cglib动态代理。了解Spring的同学应该知道,Spring AOP功能的底层实现,就是使用的这两种动态代理。 两者区别 JDK的动态代理机制只能代理实现了接口的类,而没有实现接口的类就不能实现JDK的动态代理; cglib动态代理是针对类来实现代理的,它的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强。使用cglib实现动态代理,完全不受代理类必须实现接口的限制。 cglib底层采用ASM字节码生成框架,使用字节码技术生成代理类,比使用Java反射效率要高。 因为cglib动态代理采用的是继承,所以不能对final修饰的类进行代理。 ...

August 17, 2023 · 4 min

esxi创建虚拟机,安装centos7

1.首页点击创建/注册虚拟机 2.点击创建新虚拟机 3.填写虚拟机名称,选择客户机操作系统系列 linux,客户机操作系统版本 centos7 4.储存选择 标准-datastore1 ...

July 19, 2023 · 1 min

分布式事务概览

分布式事务概览 分布式理论 前置理论知识: CAP C 强一致性 主节点写入新的数据,必须能从从节点读到最新数据,否则错误 A 可用性 保证每个服务尽可能都能响应结果 P 分区容忍性 正常情况下,服务节点之间通信是正常的,可能因为网络原因,节点之间通信失败,将整个服务分成了多个区,仍然可以保证整个服务的运行 BASE basically Available 基本可用 系统出现故障,保证核心功能可用 Soft state 软状态 出现一个中间状态,表示动作进行中 eventually consistent 最终一致性 2pc 两阶段提交(协议) 主要角色 事务管理器(协调者 tm) ...

July 19, 2023 · 4 min

我的简历

java工程师 ::: left 朱秀清/男/1998.02 江西应用科技学院/物联网工程 本科/2020年毕业 ::: ::: right icon:blog https://ggball.top icon:github https://github.com/a1667834841 icon:email [email protected] icon:weixin a1667834841 icon:phone 13217913287 ::: 技能 掌握java语言,熟悉JUC、io、多线程等java高级特性; ...

July 19, 2023 · 4 min
总访问量 总访客数