IT书架 本次搜索耗时 0.032 秒,为您找到 207 个相关结果.
  • 568.新版的golang slice切片扩容机制

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

    4. Go Cond实现原理? 概念 底层数据结构 使用方法 4. Go Cond实现原理? 概念 Go 标准库提供了Cond 原语,可以让 Goroutine 在满足特定条件时被阻塞和唤醒 底层数据结构 type Cond struct { noCopy noCopy // L is held...
  • 275.go中的map?分段锁拆了几个分片?

    140 2024-01-19 《Golang面试题》
    go中的map?分段锁拆了几个分片? 答案: go中的map?分段锁拆了几个分片? 参考解析 题目来源:知乎 答案: 因为golang的原生map是非并发安全的,所以为了保证map的并发安全,最简单的方式就是给map加锁。直接对一个map加锁,当访问map的请求越来越多,都竞争这一把锁使得并发访问变慢。 分段锁是一种锁的设计,并不是...
  • 40.go 中用 for 遍历多次执行 goroutine会存在什么问题

    229 2024-01-16 《Golang面试题》
    go 中用 for 遍历多次执行 goroutine会存在什么问题 go 中用 for 遍历多次执行 goroutine会存在什么问题 **题目来源:**深信服 1.假如在协程中打印for的下标i或当前下标的元素,会随机打印载体中的元素.原因有二: golang是值拷贝传递for循环很快就执行完了,但是创建的10个协程需要做初始化。上...
  • 模板方法模式

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

    八、持久化 RDB 持久化 AOF 持久化 八、持久化 GOLANG ROADMAP 554 Redis 是内存型数据库,为了保证数据在断电后不会丢失,需要将内存中的数据持久化到硬盘上。 RDB 持久化 将某个时间点的所有数据都存放到硬盘上。 可以将快照复制到其它服务器从而创建具有相同数据的服务器副本。 如果系统发生故障,将...
  • 222.go defer

    145 2024-01-18 《Golang面试题》
    go defer 答案1: go defer 参考解析 题目来源:腾讯 答案1: 使用defer的优势 defer一般用于资源的释放和异常的捕捉, 作为Go语言的特性之一. defer 语句会将其后面跟随的语句进行延迟处理. 意思就是说 跟在defer后面的语言 将会在程序进行最后的return之后再执行. 在 defer 归...
  • 字典

    一、字典 二、实现不可重复集合 Set 2.1.初始化一个集合 2.2.添加一个元素 2.3.删除一个元素 2.3.查看元素是否在集合中 2.4.查看集合大小 2.5.查看集合是否为空 2.6.清除集合所有元素 2.7.将集合转化为列表 2.8.完整例子 我们翻阅书籍时,很多时候都要查找目录,然后定位到我们要的页数,比如我们查找某个英...
  • 26、性能优化

    性能优化 一、性能优化 二、下载OSS的SDK 三、实现OSS上传 四、测试云存储是否成功 性能优化 一、性能优化 锁的频次(降低锁的频次,就比如群聊的时候使用的协程) json编码次数(降低JSON编码次数,能不编码尽量不编码) 静态资源分离(静态资源与应用资源进行分离,存储到alioss) 二、下载OSS的SDK func ...
  • 360.Go创建协程的过程

    137 2024-01-22 《Golang面试题》
    Go创建协程的过程 答案: Go创建协程的过程 参考解析 题目来源:虾皮 答案: 想要启动一个新的 Goroutine 来执行任务时,我们需要使用 Go 语言的 go 关键字,编译器会通过 cmd/compile/internal/gc.state.stmt 和 cmd/compile/internal/gc.state.cal...