go
文章平均质量分 73
Wang-Junchao
这个作者很懒,什么都没留下…
展开
-
Go源码阅读——mstats.go
【博文目录>>>】 【项目地址>>>】Go内存统计Go提供了运行进内存统计的方法,其实现在runtime/mstats.go文件中。go内存统计的作用有:Go内存实时监控内存dump时,统计内存相关信息Go GC时,统计GC相关的信息应用调试时分析内存分配等Go中的内存统计信息结构有两个,分别是mstats和MemStats,详细信息如下:...原创 2020-04-27 08:36:21 · 915 阅读 · 0 评论 -
Go源码阅读——map.go
【博文目录>>>】 【项目地址>>>】Go Map实现map.go文件包含Go的映射类型的实现。映射只是一个哈希表。数据被安排在一系列存储桶中。每个存储桶最多包含8个键/元素对。哈希的低位用于选择存储桶。每个存储桶包含每个哈希的一些高阶位,以区分单个存储桶中的条目。如果有8个以上的键散列到存储桶中,则我们会链接到其他存储桶。当散列表增加时,我们将分配...原创 2020-04-23 08:26:49 · 839 阅读 · 0 评论 -
go源码阅读——malloc.go
【博文目录>>>】 【项目地址>>>】内存分配器golang内存分配最初是基于tcmalloc的,但是有很大的不同。tcmalloc文章:参见:http://goog-perftools.sourceforge.net/doc/tcmalloc.html翻译:https://blog.csdn.net/DERRANTCM/article/details...原创 2020-04-13 08:07:32 · 1934 阅读 · 0 评论 -
TCMalloc:线程缓存Malloc
TCMalloc:线程缓存Malloc本文翻译了TCMalloc : Thread-Caching Malloc最重要的部分,TCMalloc是go语言内存分配的基石,go内存分配置就是从TCMalloc演化而来。其余部分内容可参见原文。动机内存分配速度快。TCMalloc比我测试过的glibc 2.3 malloc(可称为ptmalloc2的独立库)和其他malloc更快。ptmalloc...翻译 2020-04-06 13:57:51 · 537 阅读 · 0 评论 -
go源码阅读——chan.go
【博文目录>>>】 【项目地址>>>】chan.go是go语言通道实现,通道结构的定义,接收和发送的操作都此文件中实现。通道的结构hchan是通道表示的基本结构,其内容表示如下:一些特殊情况当dataqsiz=0时:说明这是一个无缓冲对列当dataqsiz>0时,说明是一个缓冲对列type hchan struct { qcoun...原创 2020-04-05 17:32:16 · 1102 阅读 · 0 评论 -
go源码阅读——value.go
【博文目录>>>】【项目地址>>>】基本内容value文件主要提供值的一些调用方法,value所需要的值在在type.go文件中定义package reflectimport ( "math" "runtime" "unsafe")const ptrSize = 4 << (^uintptr(0) >> 63) /...原创 2020-04-01 08:41:03 · 1738 阅读 · 0 评论 -
go源码阅读——type.go
基本结构图reflect包基础类型是Type,其主要实现是rtype,在rtype下会有基于种类型的实现,主要结构图。基本常量数据类型常量type Kind uintconst ( Invalid Kind = iota Bool Int Int8 Int16 Int32 Int64 Uint Uint8 Uint16 Uint32 Uint64 Uintp...原创 2020-03-26 08:17:30 · 1462 阅读 · 0 评论