240 发简信
IP属地:广东
  • 120
    redis缓存问题总结

    1.缓存穿透 是指当用户在查询一条数据的时候,而此时数据库和缓存都没有关于这条数据的任何记录,而这条数据在缓存中没找到就会向数据库请求获取数据。它拿不到数据时,是会一直查询数...

  • golang面试题四

    1.go struct能不能比较?当结构体内含有不可比较的类型(Slice, Map, 和Function)时,不可以比较,反之可以比较。 两个不同的struct的实例不可以...

  • etcd实现分布式锁

    分布式锁在后台应用广泛,抢票系统,秒杀系统都能看到它的身影,实现分布式锁的方式有很多,比如zookeeper,redis,以及etcd。下面用一个简单的用例来说明etcd的实现。

  • golang之context详解

    为什么需要context在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个goroutine之间的交互,...

  • 120
    图解mysql事务实现原理

    什么是事务?事务是一组原子性的sql语句,或者说是一个独立的工作单元。事务有四个特性,原子性(Atomicity),一致性(Consistency),隔离型(Isolatio...

  • 120
    golang之MPG模型

    MPG模型1.M代表一个内核线程,也可以称为一个工作线程。goroutine就是跑在M之上的。2.P代表着处理器(processor),它的主要用途就是用来执行gorouti...

  • golang map底层原理

    映射是一个集合,可以使用类似处理数组和切片的方式迭代映射中的元素。但映射是无序的集合,意味着没有办法预测键值对被返回的顺序。即便使用同样的顺序保存键值对,每次迭代映射的时候顺...

  • 120
    go channel 实现原理

    先看下源码,源码位于src/runtime/chan.go中 qcount uint // 当前队列中剩余元素个数dataqsiz uint // 环形队列长度,即缓冲区的大...

  • golang面试题三

    var k int = 1var s = []int{1,2}多重赋值分为两个步骤,有先后顺序,算等号左边的索引表达式和取址表达式,接着计算等号右边的表达式;赋值运算等同于 ...

  • golang之类型解析

    s.bar将被展开为(s.T).bar,而 s.T 是个空指针,解引用会 panic。而s.foo没有panic是因为T的方法集有foo(),而没有bar()方法集规则如下:...

  • golang面试题二之interface

    interface和nilgolang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值,在golang中,nil只能赋值给指针、chan...

  • golang面试题一

    第一次调用 change() 时,append() 操作使切片底层数组发生了扩容,原 slice 的底层数组不会改变;第二次调用change() 函数时,使用了操作符[i,j...

  • 532. 逆序对

    描述:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。给你一个数组,求出这个数组中逆序对的总数。概括:如果a[i] > a[j] 且 i < j...

  • 132 模式

    描述:给你一个 n 个整数的序列 a1,a2,...,an,一个 132 模式是对于一个子串 ai,aj,ak,满足 i < j < k 和 ai < ak < aj。设计一...

  • 402. 连续子数组求和

    描述:给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大。输出答案时,请分别返回第一个数字和最后一个数字的下标。(如果存在多个答案,请返回字典序最小的)思路:ans...

  • 代理模式

    为其他对象提供一种代理以控制对这个对象的访问。这样实现了业务和核心功能分离。

  • 适配器模式

    适配器它是主要作用是将一个类的接口转换成客户希望的另外一个接口这样使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有两种:1.类的适配器 2.对象适配器,...

  • 观察者模式

    观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.

  • 装饰模式

    //想要扩展功能,装饰者提供了有别于继承的另外一种选择。//装饰者模式主要实现的功能是动态的给某一个类添加一些额外的功能,它是一个锦上添花者。//想要扩展功能,装饰者提供了有...

  • 策略模式

    定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。