首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
麟成
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
Leaf-segment分布式ID生成系统(Golang实现版本)
也可以直接使用我已经生成好的SQL文件(已在工程项目中)。各个字段的介绍我会在后文代码实现部分进行解析,这里就不一一解析了。 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。一个能够生成全局唯一ID的系统是非常必要的。比如某宝,业务分布广泛,这么多业务对数据分库分表…
Docker部署Go程序
本文介绍了如何使用Docker以及DockerCompose部署我们的Go程序。为什么需要Docker?想象一下你是否也会遇到下面这个场景,你在本地开发了你的应用程序,它很可能有很多的依赖环境或包,甚
Go语言实现常用排序算法
背景人类的发展中,我们学会了计数,比如知道小明今天打猎的兔子的数量是多少。另外一方面,我们也需要判断,今天哪个人打猎打得多,我们需要比较。所以,排序这个很自然的需求就出来了。比如小明打了5只兔子,小
图文结合,白话Go的垃圾回收原理
前面两篇文章介绍了Go语言的内存分配策略以及Go协程动态扩充和收缩栈内存的原理,今天这篇文章我们主要来聊一下内存管理的另外一大块内容:垃圾回收。 下面首先我们会聊一下什么是GC,GC的作用是什么,然后再结合图示用每个人都能听懂的大白话解释Go的GC原理。 现代高级编程语言管理内…
最详细的雪花算法讲解,看这一篇就够了(go版本)
由图我们可以看出来,snowFlake ID结构是一个64bit的int型数据。 在二进制中最高位为1,表示的是负数,因为我们使用的id应该都是整数,所以这里最高位应该是0。 41位可以表示2^41-1个数字,如果只用来表示正整数,可以表示的数值范围是:0 - (2^41 -1…
慎用time.After 会造成内存泄漏(go)
以前使用go tool pprof分析内存占用方法是错误的,现在已经更改过来了。 看了这段代码,你知道是哪里发生内存泄漏了嘛?我先来告诉大家,这里time.After(time.Millisecond * 5)会发生内存泄漏,具体原因嘛别着急,我们一步步分析。 这段代码我们该怎…
Golang | 简介channel常见用法,完成goroutin通信 | 🏆 技术专题第二期征文
今天是golang专题的第14篇文章,大家可以点击上方的专辑回顾之前的内容。 今天我们来看看golang当中另一个很重要的概念——信道。我们之前介绍goroutine的时候曾经提过一个问题,当我们启动了多个goroutine之后,我们怎么样让goroutine之间保持通信呢? …
Go的线程模型
在操作系统提供的内核线程之上,Go搭建了一个特有的两级线程模型。 一个G的执行需要P和M的支持。P和M关联之后,就形成了一个有效的G运行环境(内核线程+上下文环境)。 每个P都会包含一个可运行的G的队列,该队列中的G会被依次传递给本地P关联的当前M,并获得运行时机。 两级线程模…
GO语言系列(二)
22. 信道(channel) 信道可以想像成 Go 协程之间通信的管道。如同管道中的水会从一端流到另一端,通过使用信道,数据也可以从一端发送,在另一端接收。 所有信道都关联了一个类型。信道只能运输这种类型的数据,而运输其他类型的数据都是非法的。 chan T 表示 T 类型的…