写点什么

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:004126

评论 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
回复
没有更多了
发现更多内容

如何避免MYSQL主从延迟带来的读写问题?

不在线第一只蜗牛

MySQL

全球视角, 本土行动 —— 本地化商品管理之道

第七在线

Pandora飙升背后的ERC404 目前适合布局吗

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

IBM 宣布在 watsonx 上提供开源的 Mistral AI 模型

财见

2 月 Web3 游戏行业动态

Footprint Analytics

blockchain

快速掌握AI测试开发技能,获得更好的职业机会和晋升空间

霍格沃兹测试开发学社

如何通过相对规模来估算用户故事?

敏捷开发

Scrum 敏捷 极限编程 用户故事 敏捷团队

汽车软件市场迅猛扩张,Perforce Helix Core与Helix IPLM助力汽车软件开发的版本控制及IP生命周期管理

龙智—DevSecOps解决方案

汽车 汽车软件

客户说|从4小时到15分钟,一次分布式数据库的丝滑体验

阿里云数据库开源

阿里云 运维 polarDB PolarDB-X 识货

毫末贺翔:DriveGPT让通用感知实现“万物识别”、通用认知具备“世界知识”

Geek_2d6073

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

macOS Big Sur icons图标

亮点功能:流水线编辑支持并行了!

都广科技

DevOps

软件测试学习笔记丨Allure2测试用例描述相关用法(测试报告类别划分、名字展示等)

测试人

软件测试

软件测试学习笔记丨接口测试面试题

测试人

软件测试 面试题 测试开发

云游戏发行是什么?云游戏发行的演进历程

Ogcloud

游戏 云游戏 游戏发行 游戏云化 游戏发行公司

Maple 2024 mac下载(含maple注册文件及破解工具)兼容m芯片

Rose

软件下载 Maple 2024 Maple数学软件 Maple 2024 mac破解

深耕版本控制、代码质量与安全等领域,龙智荣获“Perforce 2023年度合作伙伴”奖项

龙智—DevSecOps解决方案

版本控制

Touch bar pet for Mac(在macbook上养一只宠物)

Rose

Mac软件 电子宠物 touchbar 宠物桌面

大咖公开课 | 探索AI的边界:如何精准地测试人工智能

测吧(北京)科技有限公司

测试

人工智能测试开发训练营 带你快速掌握AI测试开发技能,获得更好的职业机会和晋升空间

测吧(北京)科技有限公司

测试

pandas plot函数:数据可视化的快捷通道

快乐非自愿限量之名

pandas 数据可视化

10 个解放双手的 IDEA插件,少些冤枉代码(第三弹)

程序员小富

IDEA 插件

『Java 语法基础』面向对象有哪些特性

EquatorCoco

Java JVM 语法 开发语言

AutoCAD 2019(cad2019)汉化激活版下载附cad产品密钥

Rose

cad2019 AutoCAD 2019

Digital Realty 在日本 NRT 园区设立第二座数据中心

财见

面试官:说说线程池的工作原理?

王磊

Java 面试

Java面试必考题之线程的生命周期,结合源码,透彻讲解!

不在线第一只蜗牛

Java 面试 生命周期 开发语言

客户说|从4小时到15分钟,一次分布式数据库的丝滑体验

阿里云瑶池数据库

数据库 云计算 阿里云 云原生 polarDB

pd18虚拟机如何安装?哪里有Parallels 工具箱?

Rose

PD18虚拟机破解 Parallels 工具箱 Mac虚拟机安装 Parallels Desktop破解

云游戏平台塑造游戏发行商商业新格局

Ogcloud

游戏 云游戏 游戏发行 云游戏发行 云游戏平台

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