摘要: 1、指针和引用的本质(是什么) (1)指针是存放内存地址的一种变量,特殊的地方就在它存放的是内存地址。因此,指针的大小不会像其他变量一样变化,只跟当前平台相关——不同平台内存地址的范围是不一样的,32位平台下,内存最大为4GB,因此只需要32bit就可以存下,所以sizeof(pointer)的大小 阅读全文
posted @ 2020-10-16 11:50 技术-刘腾飞 阅读(227) 评论(0) 推荐(0) 编辑
摘要: go语言垃圾回收总体采用的是经典的mark and sweep算法。 • v1.3以前版本 STW(Stop The World)golang的垃圾回收算法都非常简陋,然后其性能也广被诟病:go runtime在一定条件下(内存超过阈值或定期如2min),暂停所有任务的执行,进行mark&sweep 阅读全文
posted @ 2020-10-16 10:58 技术-刘腾飞 阅读(477) 评论(0) 推荐(0) 编辑
摘要: ###进程、线程、协程 进程:进程是系统进行资源分配的基本单位,有独立的内存空间,单切换代价极高,进程间通信也比较麻烦 线程:线程是CPU调度和分派的基本单位,线程依附于进程,与其他线程共享进程的资源,仅有自己的(程序计数器,一组寄存器的值,和栈),线程切换代价小(但是线程之间的切换可能会设计用户态 阅读全文
posted @ 2020-10-16 10:50 技术-刘腾飞 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 那什么鸭子模型? 鸭子模型的解释,通常会用了一个非常有趣的例子,一个东西究竟是不是鸭子,取决于它的能力。游泳起来像鸭子、叫起来也像鸭子,那么就可以是鸭子。 动态语言,比如 Python 和 Javascript 天然支持这种特性,不过相对于静态语言,动态语言的类型缺乏了必要的类型检查。 Go 接口设 阅读全文
posted @ 2020-10-16 10:07 技术-刘腾飞 阅读(247) 评论(0) 推荐(0) 编辑