IT书架 本次搜索耗时 0.117 秒,为您找到 1075 个相关结果.
  • 520.Go slice为什么不是线程安全的?

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

    123 2024-01-25 《Golang面试题》
    Go slice深拷贝和浅拷贝 参考解析 Go slice深拷贝和浅拷贝 参考解析 深拷贝:拷贝的是数据本身,创造一个新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内存地址,新对象值修改时不会影响原对象值 实现深拷贝的方式: copy(slice2, slice1) 遍历append赋值 func m...
  • 376.chan的阻塞和非阻塞?

    123 2024-01-23 《Golang面试题》
    chan的阻塞和非阻塞? chan的阻塞和非阻塞? 题目来源:京东 答案: 管道(chan)是Go在语言层面提供的协程间通信机制,比UNIX管道更易用也更轻便。chan可以使用内置函数make()创建无缓冲管道和带缓冲管道。管道无缓冲区时,从管道读取数据会阻塞,直到有协程向管道写入数据。类似地,向管道写入数据也会阻塞,直到有协程从管道读取数...
  • 355.go性能调优怎么做的?

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

    123 2024-01-25 《Golang面试题》
    Go slice扩容机制? Go 1.18版本之前 Go 1.18版本切片扩容 Go slice扩容机制? Go 1.18版本之前 扩容会发生在slice append的时候,当slice的cap不足以容纳新元素,就会进行扩容,扩容规则如下 如果新申请容量比两倍原有容量大,那么扩容后容量大小 为 新申请容量 如果原有 slice 长度小于...
  • 369.给定n个并发量,并发处理数组

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

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

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

    121 2024-02-18 《MySQL面试题》
    100.什么是 NoSQL 数据库? 100.什么是 NoSQL 数据库? NoSQL 是非关系型数据库,NoSQL = Not Only SQL 。 ? NoSQL 和 RDBMS 有什么区别? 关系型数据库,采用的结构化的数据。 NoSQL 采用的是键值对的方式存储数据。 ? 在哪些情况下使用和不使用 NoSQL 数据库? 优先考虑...
  • 491.1.0 之前 GM 调度模型

    120 2024-01-24 《Golang面试题》
    1.0 之前 GM 调度模型 1.0 之前 GM 调度模型 调度器把 G 都分配到 M 上,不同的 G 在不同的 M 并发运行时,都需要向系统申 请资源,比如堆栈内存等,因为资源是全局的,就会因为资源竞争照成很多性 能损耗。为了解决这一的问题 go 从 1.1 版本引入,在运行时系统的时候加入 p 对象,让 P 去管理这个 G 对象,M 想要运行 G...