写点什么

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

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

LeetCode刷题283-简单-移动零

ベ布小禅

9月日更

mac idea配置类和方法的注释

孙强

方法 Mac IDEA 添加注释

tomcat启动失败常见错误

hasWhere

浅谈实时语音质量监控系统

RTE开发者社区

音视频

关于takin-data,你想知道的都在这里(一)启动命令篇

TakinTalks稳定性社区

逐梦航天—数字孪生技术仿真火箭发射!

ThingJS数字孪生引擎

大前端 物联网 可视化 航天 数字孪生

后疫情时代新机遇,运营商如何把握智能家居市场?

鲸品堂

智能家居 运营商 智能家居商业模式

RVB2601应用开发实战系列三: GUI图形显示

Roy夹馍

物联网 risc-v 嵌入式开发

Redis与Memcache对比

Linux服务器开发

数据库 redis 网络编程 Linux服务器开发 Memcache

21年字节+美团+腾讯,大厂必问面试真题总结(Java岗)

Java架构师迁哥

执行update语句,用没用到索引,区别大吗?

Simon

MySQL 索引

做百度AI工程师,还要会“相牛”?

百度大脑

人工智能

NeonIO 云原生存储简介与应用

QingStor分布式存储

云原生 分布式存储

【墨天轮专访第三期】达梦数据库冯源:丢掉幻想投入战斗,国产数据库的机遇窗口已经来临!

墨天轮

数据库 国产数据库 达梦

你了解自己的业务IO么?

焱融科技

云计算 技术 分布式 高性能 存储

RVB2601 应用开发实战系列一: Helloworld 最小系统

Roy夹馍

物联网 risc-v 嵌入式开发

♟Go语言那些事儿之Redis连接与数据操作♟

Regan Yue

Go 语言 9月日更

带你彻底认识Paxos算法、Zab协议和Raft协议的原理和本质

Java 架构 面试 分布式 计算机

TLS协议分析 (一) 设计目标及历史

OpenIM

RVB2601应用开发实战系列二: 跑马灯

Roy夹馍

物联网 risc-v 嵌入式开发

Premo测试框架详解

趣链科技

区块链 测试工具 测试发开

iOS 屏幕实时共享功能实践(内附详细代码)

融云 RongCloud

ios 音视频

做百度AI工程师,还要会“相牛”?

百度开发者中心

AI 最佳实践 方法论

没项目经历,面试有点怂....

Java架构师迁哥

三涧溪村:乡村产业插上数字化翅膀

工业互联网

手撕HashMap源码

程序员阿杜

Java 源码

学生管理系统详细架构设计

Nullrable

TLS协议分析 (二) 架构总览

OpenIM

关于takin-data,你想知道的都在这里(二)trace日志篇

TakinTalks稳定性社区

网络攻防学习笔记 Day128

穿过生命散发芬芳

开发安全 9月日更

Tapdata 肖贝贝:实时数据引擎系列(四)-关于 Oracle 与 Oracle CDC

tapdata

oracle

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