NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Golang 内存管理探微——如何高效使用 Golang 内存以及腾讯云实战

  • 2019-08-17
  • 本文字数:836 字

    阅读完需:约 3 分钟

Golang 内存管理探微——如何高效使用 Golang 内存以及腾讯云实战

QCon广州2019大会上,杨晖讲师做了《Golang 内存管理探微——如何高效使用 Golang 内存以及腾讯云实战》主题演讲,主要内容如下。


演讲简介


Go 语言从 2009 发布以来,到今年正好十周年。Go 语言具备天生并发、内置 GC、安全性高、语法简单、编译快速等特点,同时背靠 Google 这棵大树,目前越来越多大公司使用 Go 语言重构后端基础架构和服务,并且使用 Go 语言开发的 Kubernetes 和 Docker 对服务进行管理和部署。后端服务开发对内存使用的要求一直都很高,使用 Go 语言进行开发也一样。Go 语言使用了自动的垃圾回收机制减少了内存使用方面的难度,这是 Go 语言作为现代语言的基本特征,但是如果不理解其内存管理机制,在实际编码中也会在一些细节处理上产生迷惑。深入了解 Golang 的内存管理机制对我们日常使用 Go 语言也有很大的帮助,比如如何避免出现内存泄漏。


本次分享从 Golang 内存管理原理介绍入手,尝试从 Golang 的源代码中去理解 Golang 的内存管理机制,然后结合腾讯教育云在使用 Golang 的实际案例,去剖析如何高效地使用 Golang 的内存,同时规避出现内存管理问题。


内容大纲


  1. Golang 内存分配和管理介绍;

  2. 从 Golang 源代码理解 Golang 内存管理的方式(避免内存碎片,多线程下的内存管理机制,垃圾回收机制);

  3. 使用 Golang 中如何规避内存泄漏问题;

  4. 在实际项目中如何高效利用好 Golang 内存管理机制。


讲师介绍


杨晖


腾讯 教育云技术负责人


12 年后台开发经验,长期从事并关注高性能服务开发,使用过 PHP,C++,Golang 等语言搭建后台服务。目前负责腾讯教育行业中心研发工作,团队技术栈在 2018 年初全面转向 Go 语言和微服务框架,目前使用 beego,gRPC 等框架构建教育云新工科实验室、教育 AI PaaS 能力(智聆口语评测作业批改等)、以及教育云等项目,使用持续集成工具(QCI)、腾讯云端的容器组件(Kubernetes、Docker)、CLB、ELK 等工具打造教育云整套微服务框架,并在各个项目中具体实践和优化。












完整演讲 PPT 下载链接


https://qcon.infoq.cn/2019/guangzhou/schedule


2019-08-17 00:003987

评论 2 条评论

发布
用户头像
恶补了,谢谢分享,这边问下博主可以把文章转载到ApiPost博客中吗,当然了我们会标明出处
2021-08-24 17:06
回复
用户头像
$ go test -bench=ConcatStrings ./gomemory/...
goos: darwin
goarch: amd64
pkg: go-example/gomemory
BenchmarkConcatStrings/b1-str.plus-8 4653 248318 ns/op
BenchmarkConcatStrings/b2-fmt.Sprint-8 13009 93901 ns/op
BenchmarkConcatStrings/b3-strings.Join-8 119884 9334 ns/op
BenchmarkConcatStrings/b4-bytes.Buffer-8 147804 8244 ns/op
BenchmarkConcatStrings/b5-strings.Buffer-8 185582 6056 ns/op
PASS
ok go-example/gomemory 9.229s

展开
2020-05-01 12:55
回复
没有更多了
发现更多内容

测试需求平台5-Blueprint优化与首个vue页搭建

MegaQi

测试平台开发教程 10月月更

Python进阶(二十三)Django使用pymysql连接MySQL数据库做增删改查

No Silver Bullet

Python django MySQL数据库 pymysql 10月月更

「趣学前端」日常浏览的页面为什么可以五颜六色

叶一一

CSS 前端 10月月更

什么是Scrum?Scrum的核心要点和精髓

laofo

Scrum 研发效能 敏捷研发

微信朋友圈架构图

Johnny

架构实战训练营9期

大数据ELK(二十五):添加Elasticsearch数据源

Lansonli

elasticsearch 10月月更

挑战30天学完 Python:Day4数据类型-字符串str

MegaQi

挑战30天学完Python 10月月更

PriorityQueue源码解析(一)

知识浅谈

Priority Queue 10月月更

Java基础(六)| Debug模式及基础练习

timerring

Java debug 10月月更

一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式

Jerry Wang

Java 云原生 Cloud SAP 10月月更

Clickhouse:delete提交成功,数据还在

Ken

Clickhouse

大数据ELK(二十六):探索数据(Discovery)

Lansonli

discovery 10月月更

「CSS畅想」周期性事情怕忘,来看看一个月内都安排在哪天

叶一一

CSS JavaScript 前端 10月月更

什么是数据产品经理?数据产品经理与传统产品经理有什么区别?

雨果

数据产品经理

Spring Batch 可以在一个 Step 中有多个 Tasklet 吗

HoneyMoose

Python进阶(二十二)Python3使用PyMysql连接mysql数据库

No Silver Bullet

Python3 MySQL数据库 pymysql 10月月更

Java三大特性(一)—封装

共饮一杯无

Java 面向对象 10月月更

跟着卷卷龙一起学Camera--DNG格式

卷卷龙

ISP camera 10月月更

跟着卷卷龙一起学Camera--双摄01

卷卷龙

ISP camera 10月月更

如何快速对混合云环境进行安全合规检查

HummerCloud

云安全 上云合规 安全合规检测 10月月更

「趣学前端」给不懂技术的朋友简单演示,代码是怎么被编写出来的

叶一一

JavaScript 前端 10月月更

「趣学前端」日常浏览的页面是怎么实现出来的

叶一一

JavaScript 前端 10月月更

正在消失的机器视觉公司

脑极体

有人意图取代SQL,你同意吗?

雨果

sql

【从0到1学算法】5.Bubble Sort算法-下

Geek_65222d

10月月更

Spring之核心容器

楠羽

笔记 SP【ring 10月月更

树莓派4B安装64位Linux(不用显示器键盘鼠标)

程序员欣宸

树莓派 10月月更

Spring Batch 事务限制

HoneyMoose

跟着卷卷龙一起学Camera--双摄02

卷卷龙

ISP camera 10月月更

【LeetCode】两个链表的第一个重合节点Java题解

Albert

算法 LeetCode 10月月更

首轮Zepoch节点已售罄完结,你期待次轮吗?

鳄鱼视界

Golang 内存管理探微——如何高效使用 Golang 内存以及腾讯云实战_QCon_杨晖_InfoQ精选文章