IT书架 本次搜索耗时 0.158 秒,为您找到 1106 个相关结果.
  • 541.Go 原子操作有哪些?

    124 2024-01-25 《Golang面试题》
    Go 原子操作有哪些? Go 原子操作有哪些? 参考解析 Go atomic包是最轻量级的锁(也称无锁结构),可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作,不过这个包只支持int32/int64/uint32/uint64/uintptr这几种数据类型的一些基础操作(增减、交换、载入、存储等) 概念: 原子操作仅会由一个独...
  • 539.Go 读写锁的实现原理?

    124 2024-01-25 《Golang面试题》
    Go 读写锁的实现原理? Go 读写锁的实现原理? 参考解析 概念: 读写互斥锁RWMutex,是对Mutex的一个扩展,当一个 goroutine 获得了读锁后,其他 goroutine可以获取读锁,但不能获取写锁;当一个 goroutine 获得了写锁后,其他 goroutine既不能获取读锁也不能获取写锁(只能存在一个写者或多个读者,可...
  • 355.go性能调优怎么做的?

    124 2024-01-22 《Golang面试题》
    go性能调优怎么做的? go性能调优怎么做的? 参考解析 题目来源:度小满 答案:fly 内存优化 A、将小对象合并成结构体一次分配,减少内存分配次数Go runtime底层采用内存池机制,每个span大小为4k,同时维护一个cache。cache有一个0到n的list数组,list数组的每个单元挂载的是一个链表,链表的每个节点就是一...
  • 520.Go slice为什么不是线程安全的?

    124 2024-01-25 《Golang面试题》
    Go slice为什么不是线程安全的? 参考解析 Go slice为什么不是线程安全的? 参考解析 先看下线程安全的定义: 多个线程访问同一个对象时,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。 若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。 再看Go语言实现线程安全常用的几种...
  • 104.MongoDB 为什么选择 B-Tree 索引?

    124 2024-02-18 《MySQL面试题》
    104.MongoDB 为什么选择 B-Tree 索引? MySQL 面试题 中,我们已经看到 MySQL 使用的是 B+Tree 索引。 B+Tree 内节点不存储数据,所有 data 存储在叶节点导致查询时间复杂度固定为 log(n) 。 B-Tree 查询时间复杂度不固定,与 key 在树中的位置有关,最好为O(1) 。 我们知道,尽可能少的...
  • 458.Go 语言中 make 的作用是什么?

    123 2024-01-23 《Golang面试题》
    Go 语言中 make 的作用是什么? Go 语言中 make 的作用是什么? 参考解析 make的作用是为slice, map or chan的初始化 然后返回引用 make函数是内建函数,函数定义: func make ( Type , size IntegerType ) Type make(T, args)函数的目的和new...
  • 480.RWMutex 注意事项

    123 2024-01-24 《Golang面试题》
    RWMutex 注意事项 RWMutex 注意事项 参考解析 RWMutex 是单写多读锁,该锁可以加多个读锁或者一个写锁 读锁占用的情况下会阻止写,不会阻止读,多个 Goroutine 可以同时获取 读锁 写锁会阻止其他 Goroutine(无论读和写)进来,整个锁由该 Goroutine 独占 适用于读多写少的场景 RWMutex 类型变...
  • 305.用go写rpc框架的具体功能细节

    122 2024-01-22 《Golang面试题》
    用go写rpc框架的具体功能细节 用go写rpc框架的具体功能细节 题目来源: 跟谁学 答案: 注册中心是单机还是分布式的,其中一个挂了怎么办? 分布式集群。 在集群中,所有节点既是服务提供者同时也是服务消费者。注册中心将自己作为服务向其他注册中心注册自己,从而形成一组互相注册的服务注册中心,因此能够实现服务清单的互相同步,达到服务...
  • 505.Go 语言中 GC 的流程是什么?

    122 2024-01-25 《Golang面试题》
    Go 语言中 GC 的流程是什么? Go 语言中 GC 的流程是什么? Go1.14 版本以 STW 为界限,可以将 GC 划分为五个阶段: GCMark 标记准备阶段,为并发标记做准备工作,启动写屏障 STWGCMark 扫描标记阶段,与赋值器并发执行,写屏障开启并发 GCMarkTermination 标记终止阶段,保证一个周期内标记任务完...
  • 369.给定n个并发量,并发处理数组

    122 2024-01-22 《Golang面试题》
    给定n个并发量,并发处理数组 给定n个并发量,并发处理数组 参考解析 题目来源:华为 解析: n 个并发量,并发处理数组,处理完后放回数组内,使用到sync 包中的 WaitGroup 与 mutex 进行控制,假设 n 为 10,处理 长度为 20 的 int[] 类型数组,代码如下 package main import ...