首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
小池池
掘友等级
后端开发
|
百度
不会摄影的吃货不是好的程序媛/Golang/C/Linux/区块链/Docker/K8s
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
53
文章 53
沸点 0
赞
53
返回
|
搜索文章
赞
文章( 53 )
沸点( 0 )
详细了解Redis分布式锁
A1:我们使用setnx ex来对一个key加锁,setnx ex原子操作的请求都会到redis服务上,而因为redis是单线程处理所有的任务,所以到redis所有的任务都会排队执行,所以不会出现多个请求同时对某个锁进行操作的场景。 A2:对某一个任务拿到锁后,对这个锁加一个超…
Golang-map源码分析 | Go主题月
哈希桶的原理:哈希桶使用顺序表来存放Key链表的头结点,每一个Key有对应的链表。 一个map的哈希桶数据结构如下。可以看到与普通的hash桶不一样的是,桶链里面的溢出桶(overflow)可以装固定大小的K-V值。且桶的大小是2的B次方,B值是由申请的map大小值和后续的扩容…
Golang-make和new的区别|Go主题月
对于引用类型的变量,不仅要声明这个变量,还要手动为其分配空间。make和new都在堆上分配内存。 该方法的参数要求传入一个类型,而不是一个值,它会申请一个该类型大小的内存空间,并会初始化为对应的零值,返回该类型的指针类型。 make入参指定slice, map, chan类型,…
浅析Redis五大数据类型
Redis(remote dictionary server)是一种NoSql类型数据库。 现在随着现阶段业务海量用户以及高并发业务,使得关系型数据库遇到很多瓶颈。例如:性能瓶颈,读写大量数据,使得磁盘IO性能低下;扩展性能差,在数据关系更复杂的情况下,关系型数据库扩展性变差,…
Channel源码分析|Go主题月
其中关键之一在于Channel。Channel 相当于Llinux的管道,可以让多个协程之间通过读写操作进行消息传递。使用goroutine和channnel可以很容易产生一个生产者-消费者模式的任务队列。 缓冲区是一个环形队列,使用双指针实现FIFO,sendx和recvx分…
浅析Golang的设计模式+代码实现|Go主题月
通俗来说:是一个项目的代码层面设计架构,代码功能的排版。相当于模板。这些模式都是巨人们在软件系统中总结出的成功的、能够实现可维护性复用的设计方案 工厂:创建对象,创建产品实例的内部逻辑,外部不感知。外部直接调用,创建所需的产品对象 产品:所有对象的公共方法,也就是父类。内部方法…
一文搞懂Mysql索引全部原理
本文主要详细介绍Mysql索引基本原理,相信读了这篇文章,对于索引不止停留在课堂老师讲的图书馆图书索引,会更加深入理解索引的本质。这样对于怎么优化Mysql,就不止停留在背那几条规则,而是更理解规则之后的原理。 索引:实际是一种数据结构。帮助mysql高效获取数据,为什么高效,…
[二分法系列]|刷题打卡
二分法使用场景:前提是排好序的数组,看到排好序的应该有使用二分法的想法。使用的时候,要知道二分法的作用是可以更快速的找出符合条件的值。时间复杂度为$On^2$,而全局遍历会使用$On$的时间 二分法使用方法:三个变量决定一切。x,y,mid 分别表示数组的左边界、右边界、中间值…
滑动窗口使用场景|刷题打卡
滑动窗口使用场景:一般需要遍历整个数组/字符串,找出符合条件的子集。 滑动窗口使用方法:如下图。我们需要2个下标来标记窗口的边界值,决定窗口的大小。因为要找到符合条件的最值,所以每一次窗口滑动都需要记录一下符合要求的值,直到滑到末端,我们取其中符合条件的最值。 滑动窗口原理很容…
一道关于路径的面试题
这个是我写的版本(Golang) 这里忽略其他边界条件和异常情况。只考虑正常的算法流程
下一页
个人成就
文章被点赞
185
文章被阅读
63,104
掘力值
1,838
关注了
9
关注者
88
收藏集
0
关注标签
23
加入于
2020-04-17