首页
学习
活动
专区
工具
TVP
发布

后台技术学习

专栏成员
8
文章
10511
阅读量
6
订阅数
一文搞懂Go1.20内存分配器
关于Go内存分配器的分析文章很多,看到的比较经典的有刘丹冰Aceld的一站式Golang内存管理洗髓经,最近学习了该篇文章和其他相关文章,结合Go1.20最新的源码,复习了下Go内存分配的知识,输出了自己的学习笔记。要学习Go GC实现,需要先搞定内存分配,内存分配是GC垃圾回收的前传。
涂明光
2024-03-10
3960
深入学习Go原生网络模型netpoll
前面学习了 Linux 的 IO 多路复用 select/poll/epoll 的实现原理,最近学习了下 Go 语言的 netpoll 网络轮询器,在学习的过程中,产生了下面这些疑问,相信对这块内容有所了解的同学都会比较关心:
涂明光
2024-03-10
3470
深入学习IO多路复用select/poll/epoll实现原理
Linux 服务器处理网络请求有三种机制,select、poll、epoll,本文打算深入学习下其实现原理。
涂明光
2022-11-27
1.6K1
深入分析Go1.18 GMP调度器底层原理
Go 语言有强大的并发能力,能够简单的通过 go 关键字创建大量的轻量级协程 Goroutine,帮助程序快速执行各种任务,比Java等其他支持多线程的语言在并发方面更为强大,除了会用它,我们还需要掌握其底层原理,自己花时间把 GMP 调度器的底层源码学习一遍,才能对它有较为深刻的理解和掌握,本文是自己个人对于 Go语言 GMP 调度器(Go Scheduler)底层原理的学习笔记。
涂明光
2022-11-27
2.1K0
深入分析Go defer底层原理
目前的Go defer的源码分析文章很多都绕过了最为复杂的编译器优化阶段,而且对开放编码方式实现defer关键字的原理解释的不够清楚,本文尝试啃下defer在编译器(gc, go compiler)优化阶段的这个硬骨头,并给出defer在堆上分配、栈上分配、开放编码三种实现方式的编译期和运行时的完整的执行过程。
涂明光
2022-10-17
1.6K0
深入分析Go1.18 select底层原理
在对Channel的读写方式上,除了我们通用的读 i <- ch, i, ok <- ch,写 ch <- 1 这种阻塞访问方式,还有select关键字提供的非阻塞访问方式。
涂明光
2022-10-05
8290
深入分析Go1.18 Channel底层原理
由于Go Channel底层原理比较简单,源码也比较容易看懂,网上关于Channel源码分析的文章比较多,很多质量也都很高,本文主要是自己个人对于Channel源码的学习笔记。
涂明光
2022-09-28
2.2K0
深入分析Go1.17函数调用栈参数传递
了解到 C 语言的函数调用,6个以内的参数通过寄存器传递,6个以外的在栈上传递。网上多篇Go的函数调用分析文章,说Go的函数调用时参数都是通过栈传递,自己通过实际运行Go1.17版本函数调用的汇编代码发现,Go的函数调用时参数是通过寄存器传递。对于这点有些好奇,专门写篇文章分析下。
涂明光
2022-09-28
1.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档