一闪笔记 本次搜索耗时 0.099 秒,为您找到 750 个相关结果.
  • 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 原子操作有哪些?

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

    130 2024-01-25 《Golang面试题》
    Go channel有什么特点? Go channel有什么特点? 参考解析 channel有2种类型:无缓冲、有缓冲 channel有3种模式:写操作模式(单向通道)、读操作模式(单向通道)、读写操作模式(双向通道) 写操作模式 读操作模式 读写操作模式 创建 make(chan<- int) make(<-ch...
  • 311.go 同步、channel的实现

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

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

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

    1.Go 程序的基本结构? 1.Go 程序的基本结构?
  • 3.Go 内存对齐机制?

    3.Go 内存对齐机制? 什么是内存对齐 对齐系数 优点 缺点 结构体对齐 3.Go 内存对齐机制? 什么是内存对齐 为了能让CPU可以更快的存取到各个字段,Go编译器会帮你把struct结构体做数据的对齐。所谓的数据对齐,是指内存地址是所存储数据大小(按字节为单位)的整数倍,以便CPU可以一次将该数据从内存中读取出来。 编译器通过在...
  • 1.Go 线程实现模型?

    1.Go 线程实现模型? 背景 三种线程模型 1.Go 线程实现模型? Go实现的是两级线程模型(M:N),准确的说是GMP模型,是对两级线程模型的改进实现,使它能够更加灵活地进行线程之间的调度。 背景 含义 缺点 单进程时代 每个程序就是一个进程,直到一个程序运行完,才能进行下一个进程 1. 无法并发,只能串行 ...