一周 Go World 新鲜事-2018W54


01

Golang之美


初始golang,语言之美之简洁之高效,天生具有高并发等特性。 本文来自蔡欣圻、邵聪聪,对go语言的分析很到位全面,在这里分享出来给go开发者,希望能让你有一个更深刻的认知。

原文链接:

https://juejin.im/post/5bf50600e51d457dd85460d8

原文二维码:

640?wx_fmt=png




02

内存分配


glibc用的malloc为ptmalloc2。往往不能满足我们的需要,造轮子实现一个内存池或者内存分配器几乎是家常便饭。对于ptmalloc2,至少有以下缺点:

1. 内存碎片多。

2. 内存释放方式不太好。ptmalloc 收缩内存是从 top chunk 开始,如果与 top chunk 相邻的 chunk 不能释放, top chunk 以下的 chunk 都无法释放。

3. 锁的开销,并发性能低。

4. 内存释放不可控(free后不会立刻把内存还给os,而且采用)。

5. 线程不均衡。(线程A分配的内存用完之后free掉,这块内存一般不会立刻归还os,线程B malloc的时候不能用这块内存)

6. 元数据较大。

7. 小对象分配速度低。

原文链接:

https://zhuanlan.zhihu.com/p/53581298

原文二维码:

640?wx_fmt=png




03

Go channel 实现源码分析



1.channel 数据结构

2.创建channel实现

创建channel实例:

ch := make(chan int, 4)

实现函数:

func makechan(t *chantype, size int64) *hchan

大致实现:

执行上面这行代码会 new一个hchan 结构,同时创建一个 dataqsiz=4 的 int 类型的循环队列,其实就是一个容纳4个元素的数组,就是按顺序往里面写数据,写满之后又从0开始写,这个顺序索引就是hchan.sendx

......


原文链接:

http://www.cnblogs.com/hlxs/p/10275303.html

原文二维码:

640?wx_fmt=png




04

Golang 编译- ldflags -X 在 vendor 中不生效的问题



Golang项目在编译链接的时候可以通过 -ldflags -X 来给代码中的变量赋值,然而这天我却遇到了一个诡异的问题……

折腾了许久,最后终于搞明白了。Golang 在 1.5 版本时引入了 vendor 属性,并在 1.6 以后版本默认启用,于是查找依赖包的顺序就变成了:

  • 当前包下的 vendor 目录;

  • 向上级目录查找,直到找到src下的 vendor 目录;

  • 查找 $GOPATH 目录;

  • 查找 $GOROOT 目录;


原文链接:

https://chenjiehua.me/golang/golang-build-with-ldflags-not-work-for-vendor.html

原文二维码:

640?wx_fmt=png




05

如何评估 Kubernetes 持久化存储方案


在2018年的Garnter技术成熟度曲线中,容器存储出现在了技术触发期,已经开始进入大众的视野。我相信,在未来的两年内,容器存储会随着Kubernetes的进一步成熟和商业化,其地位会越来越重要。如何在五花八门的存储产品中,选择适合自己的一款,将会是IT大佬们必须要面对的问题。本文将会从使用场景角度分析,如何评估容器存储方案。


原文链接:

https://mp.weixin.qq.com/s/6yg_bt5mYKWdXS0CidY6Rg

原文二维码:

640?wx_fmt=png



职位推荐:


广州-琶洲BAT 创业团队 诚招后台开发同学


上海-新天地e 成科技-诚募 Go 语言工程师


上海晓信科技招聘Go工程师


招聘详情地址:https://gocn.vip/explore/category-8



640?


探探 Gopher China 2019大会全面启动 Gopher China 2019 早鸟票开售中点击下方“阅读原文”即可报名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值