![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang底层
文章平均质量分 80
南一道街丶
在校大学生一枚,现主要研究Golang,平时会不定期分享Golang知识
展开
-
结构体和内存对齐(基础+底层)
地址总线:cpu需要从内存读取数据,需要通过地址总线把地址传到内存,内存准备好数据,输出到地址总线,交给cpu,如果地址总线只有8根, 那么地址只有8为,寻址空间为256个地址,想使用更大的内存,就需要有更宽的地址总线,32位地址总线可以寻址4G内存数据总线,机器字长:每次操作1字节麻烦,就加宽数据总线,一次想操作4字节,就需要用32根数据总线,每次操作字节数就是机器字长。原创 2022-10-27 09:51:18 · 710 阅读 · 2 评论 -
GMP调度
M2与P2解绑,但M2会记住P2,然后G8和M2进行系统调用状态,当G8和M2退出系统调用,会尝试获取P2,如果无法获取,则会获取空闲的P,如果依然没有,G8会被即为可运行状态并且加入全局队列,M2因为没有P的绑定编程休眠状态(长时间休眠会等待GC回收)如果M2的本地队列没有了,全局队列也没有了,这时候会取M1的本地队列的后半部分,直接拿过来(有人说是前半部分?G2唤醒M2,M2绑定P2,并且运行G0,但是P2本地没有G,M2此时为自旋线程(没有G但是不断寻找G)从全局队列到本地队列的负载均衡。原创 2022-10-24 08:38:06 · 298 阅读 · 0 评论 -
Golang内存逃逸以及逃逸分析
Golang内存逃逸,内存逃逸,Golang逃逸分析,逃逸分析,逃逸分析的案例,逃逸分析的几种场景原创 2022-07-06 10:04:10 · 537 阅读 · 0 评论 -
深度解密Go底层Map
Go中Map底层结构,hmap,bmap,map扩容,map定位,为什么使用map原创 2022-07-05 19:50:28 · 382 阅读 · 0 评论 -
UTF编码和字符集
UTF编码和字符集详解原创 2022-07-03 21:27:40 · 930 阅读 · 0 评论