写点什么

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

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

直播预约|Search for Future,阿里云 × Elastic 中国用户峰会 2023

阿里云大数据AI技术

大数据 阿里云 搜索

一个可以早点下班的开发技巧

引迈信息

前端 敏捷开发 低代码 JNPF

字典数据结构 FST(Finite State Transducer)

alexgaoyh

Java Trie FST dat 字典数据结构

黑盒测试方法—等价类划分法

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

测试

软件测试/测试开发 | 数据持久化技术(Java)

测试人

软件测试 测试发开

【经验分享】电路板上电就挂?新手工程师该怎么检查PCB?

华秋PCB

工程师 电路 PCB PCB设计

如何降低 Flink 开发和运维成本?阿里云实时计算平台建设实践

Apache Flink

大数据 flink 实时计算

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易智企

系统设计 异常处理

关于微服务系统中数据一致性的总结

做梦都在改BUG

Java 微服务 数据一致性

Gartner首次针对中国市场发布产业数字化白皮书,联合卡奥斯共探区域经济发展最优解

Openlab_cosmoplat

数字化 产业数字化 白皮书 开源社区 Gartner

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵教育

Spring boot starter test java 后端、 程序员 java

我在京东做研发丨【混合多云第一课】为何多云多活被称为“技术皇冠上的明珠”?

京东科技开发者

京东云 研发 混合多云

如何让SpringBoot项目启动时执行特定代码

做梦都在改BUG

Java Spring Boot

软件测试/测试开发 | Spring Boot 异常处理

测试人

软件测试 springboot 自动化测试 测试发开

工赋开发者社区 | 关于ChatGPT八个技术问题的猜想

工赋开发者社区

CorelDRAW矢量图形设计软件2023最新版本功能介绍

茶色酒

CorelDraw2023

Redis缓存知识大集合

阿呆

redis 缓存 缓存击穿 缓存雪崩

选对调度器,让你的设备“纵享丝滑”

鼎道智联

算法 cpu ESA

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易云信

系统设计 异常处理

GitHub破千Star!Java多线程编程实战指南:核心篇+设计模式篇

做梦都在改BUG

Java 并发编程 多线程

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵社区

Spring boot starter test java 后端、 程序员 java

ERP和MES如何做到优势互补,它们的区别在哪?

工赋开发者社区

EasyRecovery16数据恢复软件有哪些新功能?

茶色酒

EasyRecovery Photo16

SpringApplication启动类的Args详解

石臻臻的杂货铺

spring springboot

2023年适用于Windows和Mac的FTP传输工具

镭速

那些年,我们写过的无效单元测试

阿里巴巴中间件

阿里云 编程 云原生

Kubernetes 部署主从结构的 MySQL 服务

CTO技术共享

Dubbo 在 Proxyless Mesh 模式下的探索与改进

阿里巴巴中间件

阿里云 云原生 dubbo

C++ sort和for_each算法的普通、文艺和2B用法

老王同学

c++ 排序

九科祝福丨人生不设限,愿你自由绽放

九科Ninetech

构建一个可复用的自定义BaseAdapter

梦笔生花

Adapter viewholder item

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