golang的内存管理方式

TCMallocgo内存管理比较复杂,它借鉴了谷歌的TCMalloc内存分配算法,全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free,new,new等)。

Go源码学习:string的内部数据结构

前面在学习Go程序进程的内存布局时,分析了一个Go程序在Linux下ELF文件格式经过简化后大致如下图所示:Go二进制文件ELF主要有这几个section组成: .text, .rodata, .data, .noptrdata, .bss, .noptrbss。 .

Golang 临界资源安全与互斥锁

而在结尾时,竟然出现了余票为负数的情况,其产生的原因在于,票数快要卖完时,当售票口1余票1,并且售完这一张票后,在这个时间段内,售票口2已经进入了if tickets > 0满足条件的代码块内,然而售票口1此时将最后一张票售出,tickets 由1变为0售票口2打印出来了不应该出现的结果:余票0,同理售票口3打印了不该出现的结果:余票-1。

Go 语言string 也是引用类型

而且读了一些程序源码,也发现很多与之相关的问题,下面类似的代码估计很多初学者都写过,也充分说明了作者当时内心的纠结。

为什么现在很多公司都转型go语言开发?Go语言能做什么

但是最主要的原因,应该是基于以下两方面的考虑:执行性能缩短API的响应时长,解决批量请求访问超时的问题。

一次使用 Go 语言编写脚本的经历

通常认为,Python和Bash是热门的脚本语言,而C、C++和Java完全不能被用作脚本编程,有一些语言却夹在其中。

构建微服务的十大 Go 框架/库

现在,很多开源库都支持构建应用程序。我应该向你推荐一些库,它们可以帮助启动具有简单设计、干净代码和良好性能的项目。01 CLI 命令(spf13/cobra)你想要构建一些 CLI 命令吗?

盘点那些使用 Go 语言的国外公司

一直以来,各种语言都是国外大规模使用,但 Go 语言很不一样,国内更火。因为这样,有些人质疑:Go 也就国人瞎炒作,国外根本没啥公司用。

「GCTT 出品」Golang:Concurrency, Goroutines and GOMAXPROC

William Kennedy 2014 年 1 月 29 日介绍刚刚加入GO-Minami 组织的新人经常会说想学习更多有关 Go 并发的知识。

Docker中的Nginx版本升级分享

背景:nginx漏洞修复整改通知,当前版本的nginx有风险,需要升级到最新版本的。nginx,于是进行了docker中的nginx版本进行升级,成果分享。

网站地图