IT书架 本次搜索耗时 0.208 秒,为您找到 430 个相关结果.
  • 548.Go 线程实现模型?

    148 2024-01-25 《Golang面试题》
    Go 线程实现模型? 背景 三种线程模型 Go 线程实现模型? 参考解析 Go实现的是两级线程模型(M:N),准确的说是GMP模型,是对两级线程模型的改进实现,使它能够更加灵活地进行线程之间的调度。 背景 含义 缺点 单进程时代 每个程序就是一个进程,直到一个程序运行完,才能进行下一个进程 1. 无法并发,只能...
  • 242.Golang和Java的垃圾回收机制

    148 2024-01-18 《Golang面试题》
    Golang和Java的垃圾回收机制 答案: Golang和Java的垃圾回收机制 参考解析 题目来源:Amber Group 答案: golang在1.8GC之后采用三色标记法与混合写屏障技术 三色分别指白色,黑色,灰色 白色表示没有被扫描到的对象,黑色表示活跃的对象,灰色状态在白色与黑色之间 三色标记算法分五个步骤 将...
  • 185.Golang 切片如何删除数据

    148 2024-01-18 《Golang面试题》
    Golang 切片如何删除数据 答案: Golang 切片如何删除数据 参考解析 题目来源: 大疆 答案: 方法 go语言删除切片元素的方法:1、指定删除位置,如【index := 1】;2、查看删除位置之前的元素和之后的元素;3、将删除点前后的元素连接起来即可。Go 语言并没有对删除切片元素提供专用的语法或者接口,需要使用切...
  • 181.golang多态、父类方法重写

    148 2024-01-18 《Golang面试题》
    golang多态、父类方法重写 答案: golang多态、父类方法重写 参考解析 题目来源:腾讯 答案: golang多态 golang中采用接口实现多态。golang里面有一个接口类型interface,任何类型只要实现了接口类型,都可以赋值,如果接口类型是空,那么所有的类型都实现了它。 package main ...
  • 410.Go mod主要解决了什么问题

    147 2024-01-23 《Golang面试题》
    Go mod主要解决了什么问题 Go mod主要解决了什么问题 题目来源:百度 答案1: 项目不在需要放到$GOPATH/src目录下 依赖包的版本控制 依赖包的版本交由go.mod文件控制。在go.mod用require语句指定包和版本 ,go命令会根据指定的路径和版本下载包,指定版本时可以用latest,这样它会自动下载指定包的最新...
  • 335.你能介绍一下go的包管理工具吗?除了gomod还知道哪些?

    147 2024-01-22 《Golang面试题》
    你能介绍一下go的包管理工具吗?除了gomod还知道哪些? 你能介绍一下go的包管理工具吗?除了gomod还知道哪些? 题目来源:美团 答案1: 1、GOPATH 对于外部依赖的管理,在 go 1.5 之前 go 没有像 java 使用 maven 来管理依赖包、包版本;而是直接使用 GOPATH 来管理外部依赖包。 ​ go允...
  • 219.协程底层怎么实现?

    147 2024-01-18 《Golang面试题》
    协程底层怎么实现? 协程底层怎么实现? 题目来源:字节跳动 答案1: G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的轻量线程, goroutine使用go关键词创建. 举例来说, func main() { go other() }, 这段代码创建了两个goroutine,一个是ma...
  • 465.Golang Slice 的底层实现

    146 2024-01-24 《Golang面试题》
    Golang Slice 的底层实现 Golang Slice 的底层实现 参考解析 切片是基于数组实现的,它的底层是数组,它自己本身非常小,可以理解为对 底层数组的抽象。因为基于数组实现,所以它的底层的内存是连续分配的,效 率非常高,还可以通过索引获得数据。 切片本身并不是动态数组或者数组指针。它内部实现的数据结构通过指针引用 底层数组,设定...
  • 159.为什么P的local queue可无锁访问,任务窃取的时候要加锁吗?

    146 2024-01-18 《Golang面试题》
    为什么P的local queue可无锁访问,任务窃取的时候要加锁吗? 为什么P的local queue可无锁访问,任务窃取的时候要加锁吗? 题目来源:字节跳动 答案: 题解部分:如下图:绑定在P上的local queue是顺序执行的,不存在执行状态的G协程抢占,所以可以无锁访问。 任务窃取也是窃取其他P上等待状态的G协程,所以也可以...
  • 405.channel 底层

    146 2024-01-23 《Golang面试题》
    channel 底层 channel 底层 题目来源:七牛 答案: 参考《Go 语言底层原理剖析》 Go 语言的理念是通过通信来实现共享内存。Go 的CSP,通信顺序进程,是通过goroutine和channel来实现的。 如上图所见: 通道在运行时是一个特殊的hchan结构体, type hchan struct { ...