一闪笔记 本次搜索耗时 0.111 秒,为您找到 750 个相关结果.
  • 48.程序性能分析基础(上)

    1004 2023-12-29 《Go语言核心36讲》
    48 | 程序性能分析基础(上) 问题解析 总结 48 | 程序性能分析基础(上) 作为拾遗的部分,今天我们来讲讲与Go程序性能分析有关的基础知识。 Go语言为程序开发者们提供了丰富的性能分析API,和非常好用的标准工具。这些API主要存在于: runtime/pprof ; net/http/pprof ; runtime/trace ;...
  • 342. Go的闭包语法

    145 2024-01-22 《Golang面试题》
    Go的闭包语法 Go的闭包语法 题目来源:字节跳动 答案: go语言的闭包可以理解为一个引用外部变量的匿名函数,Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说:函数 + 引用环境 = 闭包 同一个函数与不同引用环境组合,...
  • 262.协程实现顺序打印123

    132 2024-01-19 《Golang面试题》
    协程实现顺序打印123 答案: 协程实现顺序打印123 参考解析 题目来源: 答案: package main import "fmt" var one = make ( chan struct {}, 1 ) var two = make ( chan struct {}, 1 ) ...
  • 1.Go goroutine的底层实现原理?

    1.Go goroutine的底层实现原理? 概念 底层数据结构 状态流转 创建 阻塞 唤醒 退出 1.Go goroutine的底层实现原理? 概念 Goroutine可以理解为一种Go语言的协程(轻量级线程),是Go支持高并发的基础,属于用户态的线程,由Go runtime管理而不是操作系统。 底层数据结构 type g ...
  • 5.grpc下的健康检查

    1. grpc的健康检查规范 2. go配置grpc的健康检查 1. grpc的健康检查规范 官方文档 grpc健康检查重要点: check = { “ GRPC ”: "ip:port" , “ GRPCUseTLS ”: False , “ Timeout ”: “ 5s ”, ...
  • 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...