CAS是什么 Compare and Swap, 1)先读取当前值; 2)对数据操作; 3)写入前比较数据库取值是否是步骤1获取的值,如果是直接写入;如果不是继续回到步骤1的操作 适用场景: CAS 适合简单对象的操作,比如布尔值、整型值等; CAS 适合冲突较少的情况,如果太多线程在同时自旋,那么 ...
分类:
编程语言 时间:
2020-06-13 17:47:14
阅读次数:
99
#一、模板方法模式介绍 ##1、定义与类型 定义:定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤 类型:行为型 ##2、适用场景 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现 各子类中公共的行为被提取出来 ...
分类:
其他好文 时间:
2020-06-09 09:38:17
阅读次数:
59
在项目中如果有在线支付的模块,那么就绕不开微信支付。微信支付的官方api有很多支付模式,这些模式适用于不同的应用场景,这里所谓的场景主要是针对你的软件系统是一个什么样的系统。微信支付一共给开发者准备了6种支付模式。 1.付款码支付 付款码支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后 ...
分类:
微信 时间:
2020-06-08 00:30:43
阅读次数:
171
【基本选择器】 1、通配符选择器 书写格式:* {声明块} 功能:所有标签,都应用其样式 适用场景:统一样式 注:一般不建议使用此选择器。 2、元素选择器 3、类选选择器 类选选择器命名规范 1点号开始 2包含字母 数字 下划线 连字符 3点后面必须是字母 4区分大小写 命名规范要求:见名知意 4. ...
分类:
其他好文 时间:
2020-06-07 21:08:23
阅读次数:
123
#一、桥接模式介绍 ##1、定义与类型 定义:将抽象部分与它的具体实现部分分离,使它们都可以独立地变化 通过组合的方式建立两个类之间联系,而不是继承 类型:结构型 ##2、适用场景 抽象和具体实现之间增加更多的灵活性 一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展 ...
分类:
其他好文 时间:
2020-05-29 09:16:24
阅读次数:
77
##如何选择合适的排序算法? 线性排序算法的时间复杂度比较低,适用场景比较特殊。所以如果要写一个通用的排序函数,不能选择线性排序算法。 如果对小规模数据进行排序,可以选择时间复杂度是 O(n2) 的算法;如果对大规模数据进行排序,时间复杂度是 O(nlogn) 的算法更加高效。所以,为了兼顾任意规模 ...
分类:
编程语言 时间:
2020-05-28 21:24:53
阅读次数:
81
LinkedList的源码分析LinkedList的数据结是双向链表,因为是链表结构,所以LinkedList更加适用于增删频繁而查询修改不频繁的场景,其适用场景和ArrayList有一些相反的。
分类:
编程语言 时间:
2020-05-28 18:09:46
阅读次数:
76