首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
tyloafer
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
5
文章 5
沸点 0
赞
5
返回
|
搜索文章
最新
热门
MOSN热升级逻辑浅析
背景 MOSN在热升级上面,也曾做过自己的探索;业界虽然有Nginx Envoy 也都实现了热升级方式,那么这里有什么异同呢? Nginx: 通过Fork的方式直接继承父进程的监听信息和链接信息等,仅
GORM之ErrRecordNotFound采坑记录
在我印象中有个错误的认知:如果GORM没有找到record,则会返回ErrRecordNotFound 的错误,知道上次业务中出现了bug,我才发现这个印象中的认知是错误的,且没有官方文档的支持。那么,ErrRecordNotFound 到底在什么时候返回呢,这篇文章将会根据源…
深入理解Go-垃圾回收机制
混合写屏障会同时标记指针写入目标的"原指针"和“新指针". GO的GC是并行GC, 也就是GC的大部分处理和普通的go代码是同时运行的, 这让GO的GC流程比较复杂. 在GC过程中会有两种后台任务(G), 一种是标记用的后台任务, 一种是清扫用的后台任务. 标记用的后台任务会在…
GORM之for(rows.Next)提前退出别忘了Close
根据 《Go Http包解析:为什么需要response.Body.Close()》 中的分析结果,可以大胆猜测,有可能是mysql每次去查询的时候,获取一个连接,没有空闲的连接,则创建一个新的,查询完成后释放连接到连接池,以便下一个请求使用,而由于没有调用rows.Close…
深入理解go-channel和select的原理
1. 结构概览 1.1. hchan 1.2. waitq 1.3. sudog 1.4. hcase 1.5. 图示 1.5.1. 无缓冲(同步) 1.5.2. 带缓冲(异步) 2. 源码分析 2.1. 收发 2.1.1. main 2.1.2. makechan 2.1.3…
深入理解Go-runtime.SetFinalizer原理剖析
finalizer是与对象关联的一个函数,通过runtime.SetFinalizer 来设置,它在对象被GC的时候,这个finalizer会被调用,以完成对象生命中最后一程。由于finalizer的存在,导致了对象在三色标记中,不可能被标为白色对象,也就是垃圾,所以,这个对象…
深入理解Go-sync.Map原理剖析
上面一段是官方对sync.Map 的描述,从描述中看,sync.Map 跟map 很像,sync.Map 的底层实现也是依靠了map,但是sync.Map 相对于 map 来说,是并发安全的。 1. 结构概览 1.1. sync.Map 1.2. readOnly 1.3. e…
股票信息数据接口-tushare
股市韭菜或者金融学相关的同学,数据回测则是一个快速实验的一个方式,如果依靠交易软件,一个个的回测,头都要炸了,近期在搜索数据接口时,发现了tushare,提供的接口基本满足了我的需求,这里特地推荐一下
深入理解Go-defer的原理剖析
Defer 也是Go里面比较特别的一个关键字了,主要就是用来保证在程序执行过程中,defer后面的函数都会被执行到,一般用来关闭连接、清理资源等。 1. 结构概览 1.1. defer 1.2. panic 1.3. g 2. 源码分析 2.1. main 2.2. defer…
深入理解Go-goroutine的实现及Scheduler分析
在学习Go的过程中,最让人惊叹的莫过于goroutine了。但是goroutine是什么,我们用go关键字就可以创建一个goroutine,这么多的goroutine之间,是如何调度的呢? 1. 结构概览 1.1. 数据结构 1.1.1. G(gouroutine) 1.1.2…
下一页
个人成就
文章被点赞
94
文章被阅读
47,372
掘力值
956
关注了
3
关注者
46
收藏集
0
关注标签
17
加入于
2019-09-05