12年后台开发经验,长期从事并关注高性能服务开发,使用过 PHP,C++,Golang 等语言搭建后台服务。目前负责腾讯教育行业中心研发工作,团队技术栈在2018年初全面转向Go语言和微服务框架,目前使用 beego,gRPC 等框架构建教育云新工科实验室、教育AI PaaS能力(智聆口语评测作业批改等)、以及教育云等项目,使用持续集成工具(QCI)、腾讯云端的容器组件(Kubernetes、Docker)、CLB、ELK等工具打造教育云整套微服务框架,并在各个项目中具体实践和优化。
12年后台开发经验,长期从事并关注高性能服务开发,使用过 PHP,C++,Golang 等语言搭建后台服务。目前负责腾讯教育行业中心研发工作,团队技术栈在2018年初全面转向Go语言和微服务框架,目前使用 beego,gRPC 等框架构建教育云新工科实验室、教育AI PaaS能力(智聆口语评测作业批改等)、以及教育云等项目,使用持续集成工具(QCI)、腾讯云端的容器组件(Kubernetes、Docker)、CLB、ELK等工具打造教育云整套微服务框架,并在各个项目中具体实践和优化。
Go语言从2009发布以来,到今年正好十周年。Go语言具备天生并发、内置GC、安全性高、语法简单、编译快速等特点,同时背靠 Google 这棵大树,目前越来越多大公司使用Go语言重构后端基础架构和服务,并且使用Go语言开发的 Kubernetes 和 Docker 对服务进行管理和部署。后端服务开发对内存使用的要求一直都很高,使用Go语言进行开发也一样。Go语言使用了自动的垃圾回收机制减少了内存使用方面的难度,这是Go语言作为现代语言的基本特征,但是如果不理解其内存管理机制,在实际编码中也会在一些细节处理上产生迷惑。深入了解 Golang 的内存管理机制对我们日常使用Go语言也有很大的帮助,比如如何避免出现内存泄漏。
本次分享从 Golang 内存管理原理介绍入手,尝试从 Golang 的源代码中去理解 Golang 的内存管理机制,然后结合腾讯教育云在使用 Golang 的实际案例,去剖析如何高效地使用 Golang 的内存,同时规避出现内存管理问题。
内容大纲: