摘要: LockLock和synchronized,这两个是最常见的锁,它们都可以达到线程安全的目的,但是在使用上和功能上又有较大的不同。Lock并不是用来代替synchronized的,而是当使用synchronized不合适或不足以满足要求的时候,来提供高级功能的。为什么synchronized不够用效 阅读全文
posted @ 2024-01-31 19:04 wangzhilei 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 定义:允许一个对象在其内部状态改变时,改变它的行为 类型:行为型 适用场景:一个对象存在多个状态(不同状态下行为不同),且状态可以相互转换 优点: 将不同的状态隔离 把各种状态的转换逻辑,分布到State的子类中,减少相互间依赖 增加新的状态非常简单 缺点:状态多的业务场景导致类数目增加,系统变复杂 阅读全文
posted @ 2024-01-31 12:20 wangzhilei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 定义:封装作用于某数据结构(如List/Set/Map等)中的各元素操作 补充定义:可以在不改变各元素类的前提下,定义作用于这些元素的操作 类型:行为型 适用场景: 一个数据结构(如List/Set/Map等)包含很多类型对象 数据结构与数据操作分离 优点:增加新的操作很容易,即增加一个新的访问者 阅读全文
posted @ 2024-01-31 11:39 wangzhilei 阅读(4) 评论(0) 推荐(0) 编辑