IT书架 本次搜索耗时 0.053 秒,为您找到 746 个相关结果.
  • 24.go垃圾回收,什么时候触发

    316 2024-01-16 《Golang面试题》
    go垃圾回收,什么时候触发 go垃圾回收,什么时候触发 答案1: 主动触发(手动触发),通过调用 runtime.GC 来触发GC,此调用阻塞式地等待当前GC运行完毕。被动触发,分为两种方式:1)使用步调(Pacing)算法,其核心思想是控制内存增长的比例,每次内存分配时检查当前内存分配量是否已达到阈值(环境变量GOGC):默认100%,即当内存...
  • 539.Go 读写锁的实现原理?

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

    154 2024-01-25 《Golang面试题》
    Go map的底层实现原理 Go map的底层实现原理 参考解析 Go中的map是一个指针,占用8个字节,指向hmap结构体 源码包中src/runtime/map.go 定义了hmap的数据结构: hmap包含若干个结构为bmap的数组,每个bmap底层都采用链表结构,bmap通常叫其bucket hmap结构体 // A hea...
  • 517.Go array和slice的区别?

    128 2024-01-25 《Golang面试题》
    Go array和slice的区别? Go array和slice的区别? 1)数组长度不同 数组初始化必须指定长度,并且长度就是固定的 切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大 2)函数传参不同 数组是值类型,将一个数组赋值给另一个数组时,传递的是一份深拷贝,函数传参操作都会复制整个数组数据,会占用额外的内存,函数内...
  • 510.Go方法与函数的区别?

    141 2024-01-25 《Golang面试题》
    删除写屏障 删除写屏障 Golang 没有这一步,Golang 的内存写屏障是由插入写屏障到混合写屏障过渡 的。简单介绍一下,一个对象即使被删除了最后一个指向它的指针也依旧可以 活过这一轮,在下一轮 GC 中才被清理掉。
  • 158.go协程线程进程区别

    172 2024-01-18 《Golang面试题》
    go协程线程进程区别 答案: go协程线程进程区别 题目来源:高德 答案: 进程:是系统资源分配的最小单位,系统是由一个个进程组成的,包括文本区,数据区和堆栈区。进程的创建和销毁都比较消耗资源和时间。进程是抢占式的争夺CPU的资源,单核CPU在同一时刻只能有一个进程在执行。 线程:是CPU调度的最小单位,线程属于进程,它共享进程的整个...
  • 90.go利用channel通信的方式

    192 2024-01-17 《Golang面试题》
    go利用channel通信的方式 go利用channel通信的方式 题目来源 :网易 答案1: 1.channel的发送与接收,从channel发送数据和读取数据需要使用 “<-”符号,如下图所示, //表示val值 将发到channel中 channel <- val //表示从channel中读取一个值并赋值到va...
  • 14.go操作rocketmq开发环境搭建

    1. 发送普通消息 2. 消费消息 3. 发送延时消息 4. 发送事务消息 github官方文档 关闭防火墙 需要关闭防火墙 1. 发送普通消息 发送普通消息 2. 消费消息 消费者 3. 发送延时消息 延迟消息 4. 发送事务消息 发送事务消息
  • 19.错误处理(上)

    688 2023-12-29 《Go语言核心36讲》
    19 | 错误处理(上) 问题解析 总结 思考题 19 | 错误处理(上) 提到Go语言中的错误处理,我们其实已经在前面接触过几次了。 比如,我们声明过 error 类型的变量 err ,也调用过 errors 包中的 New 函数。今天,我会用这篇文章为你梳理Go语言错误处理的相关知识,同时提出一些关键问题并与你一起探讨。 我们说过...
  • 393.channelnobuffer以及buffer的区别

    135 2024-01-23 《Golang面试题》
    channelnobuffer以及buffer的区别 channelnobuffer以及buffer的区别 题目来源:畅天游 答案: (1)无缓冲的通道保证进行发送和接收的 goroutine 会在同一时间进行数据交换;有缓冲的通道没有这种保证。 (2)声明无缓冲 channel 的方式是不指定缓冲大小的: package main ...