IT书架 本次搜索耗时 0.017 秒,为您找到 746 个相关结果.
  • Channel

    1.Go channel的底层实现原理? 2.Go channel有什么特点? 3.Go channel有无缓冲的区别? 4.Go channel为什么是线程安全的? 5.Go channel如何控制goroutine并发执行顺序? 6.Go channel共享内存有什么优劣势? 7.Go channel发送和接收什么情况下会死锁?
  • 447.Go 程序中的包是什么?

    137 2024-01-23 《Golang面试题》
    Go 程序中的包是什么? Go 程序中的包是什么? 参考解析 包 (pkg ) 是 Go 工作区中包含 Go 源文件或其他包的目录。源文件中的每个函数、变量和类型都存储在链接包中。每个 Go 源文件都属于一个包,该包在文件顶部使用以下命令声明: package <packagename> 您可以使用以下方法导入和导出包以重用导出的函数或类型...
  • 559.Go GC如何调优?

    145 2024-01-25 《Golang面试题》
    Go GC如何调优? Go GC如何调优? 控制内存分配的速度,限制 Goroutine 的数量,提高赋值器 mutator 的 CPU 利用率(降低GC的CPU利用率) 少量使用+连接string slice提前分配足够的内存来降低扩容带来的拷贝 避免map key对象过多,导致扫描时间增加 变量复用,减少对象分配,例如使用 sync.Pool ...
  • 555.Go 内存分配机制?

    145 2024-01-25 《Golang面试题》
    Go 内存分配机制? 设计思想 分配组件 内存管理单元:mspan 线程缓存:mcache 中心缓存:mcentral 页堆:mheap 分配对象 分配流程 Go 内存分配机制? Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每...
  • 541.Go 原子操作有哪些?

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

    129 2024-01-25 《Golang面试题》
    Go channel有什么特点? Go channel有什么特点? 参考解析 channel有2种类型:无缓冲、有缓冲 channel有3种模式:写操作模式(单向通道)、读操作模式(单向通道)、读写操作模式(双向通道) 写操作模式 读操作模式 读写操作模式 创建 make(chan<- int) make(<-ch...
  • 6.Go 原子操作有哪些?

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

    174 2024-01-22 《Golang面试题》
    go 同步、channel的实现 go 同步、channel的实现 题目来源:腾讯 channel的基本概念 channel俗称管道,用于数据传递或数据共享,其本质是一个先进先出的队列,使用goroutine+channel进行数据通讯简单高效,同时也线程安全,多个goroutine可同时修改一个channel,不需要加锁。 chan...
  • 1.go基础数据类型

    bool类型 数值型 其他 字符 字符串 bool类型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true 数值型 整数型 可以简单讲解一下二进制和位数的关系,以及int和uint的关系 int8 有符号 8 位整型 (-128 到 127) 长度:8bit int16 ...
  • 247.golang的调试

    160 2024-01-18 《Golang面试题》
    golang的调试 golang的调试 参考解析 题目来源:度小满 1、使用IDE进行(如:goland)进行debug调试,不详细说明。2、使用golang调试工具进行调试,如:dlv(类似C语言的GDB) go dlv基本命令介绍 dlv attach $PID ## 后面的进程的ID 跟踪正在执行的go程序,查看...