自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 代理模式——《设计模式》

概念 代理模式——就是给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。例如电脑桌面的快捷方式就是一个代理对象,快捷方式是它所引用的程序的一个代理。 代理模式的结构 Subject(抽...

2020-01-25 10:04:46

阅读数 8

评论数 0

原创 适配器模式——《设计模式》

1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 2. 模式中的角色 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 需要适配的类(Adaptee):需要适配的类或适配者...

2020-01-21 12:27:53

阅读数 20

评论数 0

原创 观察者模式———《设计模式》

概念 在许多设计中,经常涉及多个对象都对一个特殊对象中的数据变化感兴趣,而且这多个对象都希望跟踪那个特殊对象中的数据变化,也就是说当对象间存在一对多关系时,在这样的情况下就可以使用观察者模式。当一个对象被修改时,则会自动通知它的依赖对象。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑...

2020-01-20 11:41:57

阅读数 17

评论数 0

原创 建造者模式——《设计模式》

概念 建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。属于创建型设计模式。 实用范围 1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2、当构造过程必须允许被构造的对象有不同表示时。 建造者模式中的角色 建造者(Builder):...

2020-01-19 11:06:52

阅读数 26

评论数 0

原创 单例模式——《设计模式》

概念 什么是单例模式? 首先,单例模式,属于创建型设计模式。 许多时候系统只需要拥有一个全局类,这样为了协调系统整体的行为。也就是说单例对象的类只能允许一个实例存在。 单例模式的优缺点 优点 在内存中只有一个对象,节省内存空间; 避免频繁的创建销毁对象,可以提高性能; 避免对共享资源的多重占用,...

2020-01-16 11:22:36

阅读数 47

评论数 0

原创 工厂模式——《设计模式》

概念 工厂模式,属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂。 类型: 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 使用场景: 当创建对象时,需要很多复杂的操作时,**例如...

2020-01-15 12:08:11

阅读数 15

评论数 0

原创 23种设计模式概览——《设计模式》

设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模...

2020-01-15 10:41:06

阅读数 20

评论数 0

原创 二分查找细节详解——《算法》

编写二分查找的算法代码属于玄学编程,虽然看起来很简单,就是会出错. 思路很简单,细节是魔鬼。 本文以问答的形式,探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。 而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的...

2020-01-14 10:50:52

阅读数 25

评论数 0

原创 一分钟了解Mysql的间隙锁——《深究Mysql锁》

什么是间隙锁? 间隙锁是一个在索引记录之间的间隙上的锁。 间隙锁的作用 保证某个间隙内的数据在锁定情况下不会发生任何变化。比如我mysql默认隔离级别下的可重复读(RR)。 当使用唯一索引来搜索唯一行的语句时,不需要间隙锁定。如下面语句的id列有唯一索引,此时只会对id值为10的行使用记录锁。 s...

2020-01-13 13:17:28

阅读数 51

评论数 0

原创 一分钟深入Mysql的意向锁——《深究Mysql锁》

为什么没有意向锁的话,表锁和行锁不能共存? 举个粟子(此时假设行锁和表锁能共存): 事务A锁住表中的一行(写锁)。事务B锁住整个表(写锁)。 但你就会发现一个很明显的问题,事务A既然锁住了某一行,其他事务就不可能修改这一行。这与”事务B锁住整个表就能修改表中的任意一行“形成了冲突。所以,没有意向锁...

2020-01-13 12:07:31

阅读数 23

评论数 0

原创 五分钟了解Mysql的行级锁——《深究Mysql锁》

一、定义 每次锁定的是一行数据的锁机制就是行级别锁定(row-level)。行级锁定不是MySQL自己实现的锁定方式,而是由其他存储引擎自己所实现的 二、优缺点 1.优点 由于锁粒度小,争用率低,并发高。 2 .缺点 实现复杂,开销大。 加锁慢、容易出现死锁 三、支持存储引擎 使用行级锁定的主要有...

2020-01-13 11:52:19

阅读数 10

评论数 0

原创 三分钟了解Mysql的表级锁——《深究Mysql锁》

一、定义 每次锁定的是一张表的锁机制就是表级别锁定(table-level)。它是MySQL各存储引擎中粒度最大的锁定机制。 二、优缺点 优点 实现逻辑简单,开销小。 获取锁和释放锁的速度快。 由于表级锁一次会将整个表锁定,所以能很好的避免死锁问题。 缺点 由于锁粒度最大,因此出现争用被...

2020-01-10 10:49:04

阅读数 17

评论数 0

原创 mysql锁相关讲解及其应用——《深究mysql锁》

一、mysql的锁类型 (1) 共享/排他锁(Shared and Exclusive Locks) 共享锁(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。 如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读...

2020-01-09 17:04:28

阅读数 24

评论数 0

原创 mysql事务隔离的一点理解

前言 先介绍一下事务的概念 事务(Transaction)就是数据库管理的一个逻辑单位,由一个有效的数据库操作序列构成。 事物ACID特性 原子性(Atomicity):事务作为一个整体被执行,要么全部成功执行,要么全部失败 一致性(Consistency):指的是逻辑上的一致性,即所有操作是符...

2020-01-08 16:01:06

阅读数 17

评论数 0

提示
确定要删除当前文章?
取消 删除