IT书架 本次搜索耗时 0.231 秒,为您找到 430 个相关结果.
  • 4.Go GC实现原理?

    4.Go GC实现原理? 什么是GC? 主流GC算法 Go GC算法 三色标记法 root对象 插入写屏障 删除写屏障 混合写屏障 GC流程 GC触发时机 GC算法演进 4.Go GC实现原理? 什么是GC? 垃圾回收也称为GC(Garbage Collection),是一种自动内存管理机制 现代高级编程语言管理...
  • 3.Go WaitGroup实现原理?

    3.Go WaitGroup实现原理? 概念 底层数据结构 使用方法 3.Go WaitGroup实现原理? 概念 Go 标准库提供了WaitGroup 原语, 可以用它来等待一批 Goroutine 结束 底层数据结构 // A WaitGroup must not be copied after first use. type...
  • 4.Go map如何查找?

    4.Go map如何查找? # 查找流程 4.Go map如何查找? Go 语言中读取 map 有两种语法:带 comma 和 不带 comma。当要查询的 key 不在 map 里,带 comma 的用法会返回一个 bool 型变量提示 key 是否在 map 中;而不带 comma 的语句则会返回一个 value 类型的零值。如果 value...
  • 4. Go Cond实现原理?

    4. Go Cond实现原理? 概念 底层数据结构 使用方法 4. Go Cond实现原理? 概念 Go 标准库提供了Cond 原语,可以让 Goroutine 在满足特定条件时被阻塞和唤醒 底层数据结构 type Cond struct { noCopy noCopy // L is held...
  • 567.Golang调度器GPM原理与调度全分析

    49 2024-04-29 《Golang面试题》
    一、Golang“调度器”的由来? (1) 单进程时代不需要调度器 (2)多进程/线程时代有了调度器需求 (3)协程来提高CPU利用率 (4)Go语言的协程goroutine (5)被废弃的goroutine调度器 二、Goroutine调度器的GMP模型的设计思想 (1)GMP模型 (2)调度器的设计策略 (3) go func() 调度流...
  • 2.Go 有哪些并发同步原语?

    2.Go 有哪些并发同步原语? 原子操作 Channel 基本并发原语 sync.Mutex sync.RWMutex sync.WaitGroup sync.Cond sync.Once sync.Pool sync.Map sync.Context 扩展并发原语 ErrGroup Semaphore Sing...
  • 568.新版的golang slice切片扩容机制

    42 2024-05-16 《Golang面试题》
    引言 测试代码 Go 1.17版本切片扩容 Go 1.18版本切片扩容 总结 引言 Go1.18之前切片的扩容是以容量1024为临界点,当旧容量 < 1024个元素,扩容变成2倍;当旧容量 > 1024个元素,那么会进入一个循环,每次增加25%直到大于期望容量。 然而这个扩容机制已经被Go 1.18弃用了,官方说新的扩容机制能更平滑地过渡。...
  • 6.Go 原子操作有哪些?

    6.Go 原子操作有哪些? 概念 使用场景 常见操作 增减操作 载入操作 比较并交换 交换 存储* 6.Go 原子操作有哪些? Go atomic包是最轻量级的锁(也称无锁结构),可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作,不过这个包只支持int32/int64/uint32/uint64/uintptr这...
  • 职责链模式

    职责链模式 10.1 模式动机 10.2 Go语言实现 chain.go chain_test.go 职责链模式 10.1 模式动机 职责链模式用于分离不同职责,并且动态组合相关职责。 Golang实现职责链模式时候,因为没有继承的支持,使用链对象包涵职责的方式,即: 链对象包含当前职责对象以及下一个职责链。 职责对象提供接口表示是...
  • 模板方法模式

    模板方法模式 7.1 模式动机 7.2 Go语言实现 templatemethod.go templatemethod_test.go 模板方法模式 7.1 模式动机 模版方法模式使用继承机制,把通用步骤和通用方法放到父类中,把具体实现延迟到子类中实现。使得实现符合开闭原则。 如实例代码中通用步骤在父类中实现(准备 、下载 、保存 、收...