IT书架 本次搜索耗时 0.120 秒,为您找到 1075 个相关结果.
  • 内存管理

    1.Go 内存分配机制? 2.Go 内存逃逸机制? 3.Go 内存对齐机制? 4.Go GC实现原理? 5.Go GC如何调优? 6.Go 如何查看GC信息?
  • 1.Go 线程实现模型?

    1.Go 线程实现模型? 背景 三种线程模型 1.Go 线程实现模型? Go实现的是两级线程模型(M:N),准确的说是GMP模型,是对两级线程模型的改进实现,使它能够更加灵活地进行线程之间的调度。 背景 含义 缺点 单进程时代 每个程序就是一个进程,直到一个程序运行完,才能进行下一个进程 1. 无法并发,只能串行 ...
  • 3.Go WaitGroup实现原理?

    3.Go WaitGroup实现原理? 概念 底层数据结构 使用方法 3.Go WaitGroup实现原理? 概念 Go 标准库提供了WaitGroup 原语, 可以用它来等待一批 Goroutine 结束 底层数据结构 // A WaitGroup must not be copied after first use. type...
  • 8.Go map和sync.Map谁的性能好,为什么?

    8.Go map和sync.Map谁的性能好,为什么? 8.Go map和sync.Map谁的性能好,为什么? Go 语言的 sync.Map 支持并发读写,采取了 “空间换时间” 的机制,冗余了两个数据结构,分别是:read 和 dirty type Map struct { mu Mutex read atom...
  • Map

    1.Go map的底层实现原理? 2.Go map遍历为什么是无序的? 3.Go map为什么是非线程安全的? 4.Go map如何查找? 5.Go map冲突的解决方式? 6.Go map 的负载因子为什么是 6.5? 7.Go map如何扩容? 8.Go map和sync.Map谁的性能好,为什么?
  • 抽象工厂模式

    抽象工厂模式 3.1 模式动机 3.2. 模式定义 3.3 模式结构 3.4. 时序图 3.5 优点 3.6 缺点 3.7 适用环境 3.8 模式应用 3.9 模式扩展 “开闭原则”的倾斜性 工厂模式的退化 3.10 Go语言实现 abstractfactory.go abstractfactory_test.go 3.11 总结...
  • 7.Go map如何扩容?

    7.Go map如何扩容? 7.Go map如何扩容? 扩容时机: 在向 map 插入新 key 的时候,会进行条件检测,符合下面这 2 个条件,就会触发扩容 if ! h . growing () && ( overLoadFactor ( h . count + 1 , h . B ) || tooManyOverfl...
  • 1.Go goroutine的底层实现原理?

    1.Go goroutine的底层实现原理? 概念 底层数据结构 状态流转 创建 阻塞 唤醒 退出 1.Go goroutine的底层实现原理? 概念 Goroutine可以理解为一种Go语言的协程(轻量级线程),是Go支持高并发的基础,属于用户态的线程,由Go runtime管理而不是操作系统。 底层数据结构 type g ...
  • 6.Go map 的负载因子为什么是 6.5?

    6.Go map 的负载因子为什么是 6.5? 6.Go map 的负载因子为什么是 6.5? 什么是负载因子? 负载因子(load factor),用于衡量当前哈希表中空间占用率的核心指标 ,也就是每个 bucket 桶存储的平均元素个数。 负载因子 = 哈希表存储的元素个数/桶个数 1 复制代码 另外负载因子与扩容、迁...
  • 看懂UML类图和时序图

    看懂UML类图和时序图 看懂UML类图和时序图 从一个示例开始 类之间的关系 泛化关系(generalization) 实现关系(realize) 聚合关系(aggregation) 组合关系(composition) 关联关系(association) 依赖关系(dependency) 时序图 看懂UML类图和时序图 看懂U...