Spring 中经典的 9 种设计模式,打死也要记住啊,献给真心想学Java的打工人

本文详细介绍了Spring框架中使用的9种经典设计模式,包括:装饰器模式、代理模式、观察者模式、策略模式和模板方法模式等。通过对这些模式的解析,帮助Java开发者深入理解Spring框架的实现原理,提升编程技能,适合面试复习和日常学习。
摘要由CSDN通过智能技术生成

前言

说到CAS(CompareAndSwap),不得不先说一说悲观锁乐观锁,因为CAS是乐观锁思想的一种实现。

悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。

乐观锁:总是很乐观认为,自己拿到数据操作的时候,没有其他线程来并发操作,等自己操作结束要更新数据时,判断自己对数据操作的期间有没有其他线程进行操作,如果有,则进行重试,直到操作变更成功。乐观锁常使用CAS和版本号机制来实现。java中java.util.atomic包下的原子类都是基于CAS实现的。

动态地给一个对象添加一些额外的职责。

就增加功能来说,Decorator模式相比生成子类更为灵活。

[6.代理模式](()

=================================================================================================================================================

[实现方式:](()


AOP底层,就是动态代理模式的实现。

[动态代理:](()


在内存中构建的,不需要手动编写代理类

[静态代理:](()


需要手工编写代理类,代理类引用被代理对象。

[实现原理:](()


切面在应用运行的时刻被织入。一般情况下,在织入切面时,AOP容器会为目标对象创建动态的创建一个代理对象。SpringAOP就是以这种方式织入切面的。

织入:把切面应用到目标对象并创建新的代理对象的过程。

[7.观察者模式](()

==============================================================================================&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值