首页
发现
标签
搜索
注册
登录
首页
发现
榜单
搜索
ChatGPT
注册
登录
搜索
一闪笔记
本次搜索耗时
0.109
秒,为您找到
750
个相关结果.
搜书籍
搜文档
121.STW 在 go 的哪些阶段发生?了解1.8版本的改进吗?
176
2024-01-17
《Golang面试题》
STW 在 go 的哪些阶段发生?了解1.8版本的改进吗? STW 在 go 的哪些阶段发生?了解1.8版本的改进吗? 题目来源:字节跳动 答案1: Golang v1.3之前采用传统采取标记-清除法,需要STW,暂停整个程序的运行。 在v1.5版本中,引入了三色标记法和插入写屏障机制,其中插入写屏障机制只在堆内存中生效。但在标记过程中...
299.为什么用户级别的线程 goroutine 比操作系统线程更轻量级?
132
2024-01-20
《Golang面试题》
为什么用户级别的线程 goroutine 比操作系统线程更轻量级? 为什么用户级别的线程 goroutine 比操作系统线程更轻量级? 题目来源:字节跳动 答案: 1、首先 Go 语言中的 goroutine 进行切换时,比操作系统线程效率高。Go 语言中,协程的切换发生在用户态,而操作系统线程切换发生在内核态,操作系统中进行线程的切换...
120.interface 的底层实现
210
2024-01-17
《Golang面试题》
interface 的底层实现 interface 的底层实现 题目来源:字节跳动 答案1: Go 语言根据接口类型是否包含一组方法将接口类型分成了两类: 使用 runtime.iface 结构体表示包含方法的接口 使用 runtime.eface 结构体表示不包含任何方法的 interface{} 类型; 空接口定义 r...
19.错误处理(上)
936
2023-12-29
《Go语言核心36讲》
19 | 错误处理(上) 问题解析 总结 思考题 19 | 错误处理(上) 提到Go语言中的错误处理,我们其实已经在前面接触过几次了。 比如,我们声明过 error 类型的变量 err ,也调用过 errors 包中的 New 函数。今天,我会用这篇文章为你梳理Go语言错误处理的相关知识,同时提出一些关键问题并与你一起探讨。 我们说过...
399.怎么理解“不要用共享内存来通信,而是用通信来共享内存”
141
2024-01-23
《Golang面试题》
怎么理解“不要用共享内存来通信,而是用通信来共享内存” 怎么理解“不要用共享内存来通信,而是用通信来共享内存” 题目来源 :滴滴 答案: 共享内存会涉及到多个线程同时访问修改数据的情况,为了保证数据的安全性,那就会加锁,加锁会让并行变为串行,cpu此时也会忙于线程抢锁。另外使用过多的锁,容易使得程序的代码逻辑坚涩难懂,并且容易使程序死锁,死...
35.go语言的引用类型有什么?
270
2024-01-16
《Golang面试题》
go语言的引用类型有什么? go语言的引用类型有什么? 题目来源:B站 答案1: 切片(slice)类型, map类型 ,管道(channel)类型 , 接口(interface)类型
模板方法模式
31
2024-03-29
《Go语言设计模式》
模板方法模式 7.1 模式动机 7.2 Go语言实现 templatemethod.go templatemethod_test.go 模板方法模式 7.1 模式动机 模版方法模式使用继承机制,把通用步骤和通用方法放到父类中,把具体实现延迟到子类中实现。使得实现符合开闭原则。 如实例代码中通用步骤在父类中实现(准备 、下载 、保存 、收...
375.开俩个协程,一个协程生产数据,另一个协程对数据进行处理,处理完后再把数据发回去,使用管道如何
124
2024-01-23
《Golang面试题》
开俩个协程,一个协程生产数据,另一个协程对数据进行处理,处理完后再把数据发回去,使用管道如何实现? 开俩个协程,一个协程生产数据,另一个协程对数据进行处理,处理完后再把数据发回去,使用管道如何实现? 题目来源:京东 答案: 该问题适合使用pipeline模式(pipeline是一系列将数据输入,执行操作并将数据传回的系统,我们称这些操作都...
377.Go如何调度,假设4核的cpu应该有几个线程或者说有几个M,那能有几个groutinue,g
127
2024-01-23
《Golang面试题》
Go如何调度,假设4核的cpu应该有几个线程或者说有几个M,那能有几个groutinue,groutinue数量的上限是多少? Go如何调度,假设4核的cpu应该有几个线程或者说有几个M,那能有几个groutinue,groutinue数量的上限是多少? 题目来源:京东 答案: Go的GMP模型中M(Machine)为操作系统线程,这三者交...
337.如何实现只开100个协程
145
2024-01-22
《Golang面试题》
如何实现只开100个协程 如何实现只开100个协程 题目来源: 答案:sunrise // 利用 channel 的缓存区实现 func main () { var wg sync . WaitGroup ch := make ( chan struct {}, 3 ) for ...
1..
«
41
42
43
44
»
..75