📚✓ 

how go.mod works?

go.mod里面的版本号是如何影响go编译器检查的?之前整理过,今天项目中有遇到个类似的问题,就顺便再整理记录下。
📚✓ 

go如何触发垃圾回收的

go触发GC有这么几个时机,内存分配时触发mallogc,定时触发sysmon,手动触发runtime.GC、debug.FreeOSMemory,其中内存分配 …
📚✓ 

go1.18泛型支持

go1.18支持了泛型编程,很久之前就研究过它的设计实现原理,但是对于其如何编写泛型代码及注意事项,并没有仔细去看过。借着项目升级go1.19的机会,公共库中有 …
📚✓ 

go垃圾回收调优

go1.19支持了内存软限制,这个内存调优带来了一种新的解决方案。在项目实践中,我们也从压舱石方案切换成了GOMEMLIMIT的方案,过程中遇到的问题、思考,也 …
📚✓ 

go设计实现系列文集

陆续看过一些go语言设计实现的文章,编译器、运行时调度、内存管理、垃圾回收、race检测、AST、locks等等吧,相对来说比较系统。收藏的这些文章,描述都比较 …
📚✓ 

Locks实现:背后不为人知的故事

从事软件开发多年的你,真的了解locks背后的那些故事吗?锁是如何实现的,无锁真的是没有任何同步吗,为什么总是谈锁色变,锁究竟有哪些开销。本文将结合go …
📚✓ 

如何看待gopanic及异常处理

最近发现有些同学对于go panic的理解有误,分不清什么时候用panic,什么时候用error,甚至是一些go老手也会出现不加选择乱用的情况,go panic …