Java多线程高并发学习笔记(二)——深入理解ReentrantLock与Condition
锁的概念 从jdk发行1.5版本之后,在原来synchronize的基础上,增加了重入锁ReentrantLock。 本文就不介绍synchronize了,有兴趣的同学可以去了解一下,本文重点介绍ReentrantLock。 锁是什么? 并...
锁的概念 从jdk发行1.5版本之后,在原来synchronize的基础上,增加了重入锁ReentrantLock。 本文就不介绍synchronize了,有兴趣的同学可以去了解一下,本文重点介绍ReentrantLock。 锁是什么? 并...
进程与线程 首先来看百度百科关于进程的介绍: 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
优点: ① 可以在不改变各元素的类的前提下,定义作用于这些元素的新操作新状态,将元素和作用于元素之上的操作之间的耦合解脱开,使得操作可以相对集中和自由变化增减。 ② 对于元素操作或状态,具有良好的灵活性和扩展性。 缺点: ① 增...
优点: ① 将系统的网状结构,变成以中介者为中心的星形结构,各对象之间不直接发生联系,耦合松散 ② 用一个中介对象来封装一系列的对象交互。中介者模式使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 ...
优点: ① 如果一个特定问题发生频率够高,就值得将其实例表述(解释为)为一个简单语言的句子,如用正则表达式匹配手机号,油箱等 ② 必须已有一种语言,之后,先定义其文法表示,然后定义其解释器,用解释器来解释此语言中的句子 缺点: ...
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所依赖于它的对象都将得到通知并自动更新。 具体对象之间,相互知道的越少越好,这样发生改变时才不至于相互影响。 目标和观察者之间不是紧密耦合的,它们可以属于一个...
优点: ① 职责链可简化对象的相互连接,仅需要保持一个指向上级的路线 ② 分派职责时,有更多的灵活性,可以通过在运行时刻对该链进行动态的增加或修改,来增加或改变那些处理请求的那些职责。 缺点: ① 不能保证请求一定被接收。既然一...
优点: ① 将与特定状态相关的行为局部化,并且将不同状态的行为分割开。 缺点: ① 可能出现大量状态类。 适用范围: 当一个对象的行为取决于他的状态,而且他必须在运行时刻根据状态改变他的行为,就要考虑此模式。 一个操作中含有...
优点: ① 可降低 请求发送者与请求接收者之间的耦合 ② 新增和删除Command对象变得容易,方便被操纵和扩展。 缺点: ① 可能导致某些系统有过多的具体命令类,影响该模式效率。 适用范围: 系统需要将请求调用者和请求接收...
优点: ① 定义了一个算法骨架或行为族,而将一些步骤延迟到子类中,可以把公共的代码移到父类里面,从而避免代码重复。 ② 具体细节步骤实现定义在子类中,使得子类可以不改变一个算法的整体结构即可以重新定义该算法的某些特定步骤。 缺点: ...