IT书架 本次搜索耗时 3.306 秒,为您找到 213 个相关结果.
  • 570.golang 写一个切片 然后调用函数进行传参函数 函数修改这个切片的值,外部的切片会受影响

    在Go语言中,切片作为函数参数传递时,其本质是值传递,但实际上包含了一个指针(指向底层数组的起始地址),以及长度和容量。因此,当你在函数内部对切片进行修改时,会影响到外部的切片,因为底层的数组被修改了。 例如,以下代码展示了这一点: package main import "fmt" func modifySlice slice ...
  • 571.golang 多个协程向同一个map写入数据会发生什么 能不能被recover捕获到吗

    在Go语言中,多个协程向同一个map写入数据会导致并发读写冲突,可能会引发数据竞争(data race)问题,从而导致程序panic。为了解决这个问题,可以使用sync.Map,这是Go语言1.9版本后提供的并发安全的map。 在Go语言中,多个协程向同一个map写入数据会导致数据竞争(data race),从而引发panic。尽管可以通过recover...
  • go开发区块链应用

    基于区块链的房地产交易系统 技术栈 区块链基础知识 Hyperledger Fabric 基础知识 搭建区块链网络 编写智能合约 部署链码 编写应用程序 基于区块链的房地产交易系统 好久不见,看了下,距离上次更文 1 个多月过去了,卷不动。 大概 2 年前,碰巧学习区块链(Hyperledger Fabric),便写了一个入门级的项目...
  • 219.协程底层怎么实现?

    协程底层怎么实现? 协程底层怎么实现? 题目来源:字节跳动 答案1: G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的轻量线程, goroutine使用go关键词创建. 举例来说, func main() { go other() }, 这段代码创建了两个goroutine,一个是ma...
  • 8.消费者客户端开发

    消费者客户端开发 必要的参数配置 订阅主题和分区 消费者golang客户端开发 Go 代码实现 代码分析 消费者客户端开发 在了解了消费者与消费组之间的概念之后,我们就可以着手进行消费者客户端的开发了。在 Kafka 的历史中,消费者客户端同生产者客户端一样也经历了两个大版本:第一个是于 Kafka 开源之初使用 Scala 语言编写的客户...
  • 链表

    一、链表 1.1.初始化循环链表 1.2.获取上一个或下一个节点 1.2.获取第 n 个节点 1.3.添加节点 1.4.删除节点 1.5.获取链表长度 二、数组和链表 三、总结 讲数据结构就离不开讲链表。因为数据结构是用来组织数据的,如何将一个数据关联到另外一个数据呢?链表可以将数据和数据之间关联起来,从一个数据指向另外一个数据。 ...
  • 558.Go GC实现原理?

    Go GC实现原理? 什么是GC? 主流GC算法 Go GC算法 三色标记法 root对象 插入写屏障 删除写屏障 混合写屏障 GC流程 GC触发时机 GC算法演进 Go GC实现原理? 什么是GC? 垃圾回收也称为GC(Garbage Collection),是一种自动内存管理机制 现代高级编程语言管理内存的方式分为两种...
  • 4.Go GC实现原理?

    4.Go GC实现原理? 什么是GC? 主流GC算法 Go GC算法 三色标记法 root对象 插入写屏障 删除写屏障 混合写屏障 GC流程 GC触发时机 GC算法演进 4.Go GC实现原理? 什么是GC? 垃圾回收也称为GC(Garbage Collection),是一种自动内存管理机制 现代高级编程语言管理...
  • 358.Go 语言协程怎么跑的

    Go 语言协程怎么跑的 Go 语言协程怎么跑的 参考解析 题目来源:字节跳动 答案: 设计原理 今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不仅实现非常简陋,也无法支撑高并发的服务。调度器经过几个大版本的迭代才有今天的优异性能,历史上几个不同版本的调度器引入了不同的改...
  • 源码 7:金枝玉叶 —— 探索「基数树」内部

    源码 7:金枝玉叶 —— 探索「基数树」内部 应用 结构 增删节点 思考 源码 7:金枝玉叶 —— 探索「基数树」内部 Rax 是 Redis 内部比较特殊的一个数据结构,它是一个有序字典树 (基数树 Radix Tree),按照 key 的字典序排列,支持快速地定位、插入和删除操作。Redis 五大基础数据结构里面,能作为字典使用的有 ha...