首页
发现
标签
搜索
注册
登录
首页
发现
榜单
搜索
ChatGPT
注册
登录
搜索
IT书架
本次搜索耗时
0.196
秒,为您找到
1106
个相关结果.
搜书籍
搜文档
4.Go GC实现原理?
69
2024-03-19
《Go语言面试题精讲》
4.Go GC实现原理? 什么是GC? 主流GC算法 Go GC算法 三色标记法 root对象 插入写屏障 删除写屏障 混合写屏障 GC流程 GC触发时机 GC算法演进 4.Go GC实现原理? 什么是GC? 垃圾回收也称为GC(Garbage Collection),是一种自动内存管理机制 现代高级编程语言管理...
单例模式
68
2024-03-29
《Go语言设计模式》
单例模式 5.1 模式动机 5.2 模式定义 5.3 模式结构 5.4 时序图 5.5 模式分析 5.6 实例 5.7 优点 5.8 缺点 5.9 适用环境 5.10 模式应用 5.11 Go语言实现 singleton.go singleton_test.go 5.12 总结 单例模式 5.1 模式动机 对于系统中的...
1.Go slice的底层实现原理?
67
2024-03-18
《Go语言面试题精讲》
1.Go slice的底层实现原理? 1.Go slice的底层实现原理? 切片是基于数组实现的,它的底层是数组,可以理解为对 底层数组的抽象。 源码包中src/runtime/slice.go 定义了slice的数据结构: type slice struct { array unsafe . Pointer le...
1.Go 常用的并发模型?
67
2024-03-19
《Go语言面试题精讲》
1.Go 常用的并发模型? 线程间通信方式 共享内存 发送消息 共享内存并发模型 CSP并发模型 1.Go 常用的并发模型? 并发模型说的是系统中的线程如何协作完成并发任务,不同的并发模型,线程以不同的方式进行通信 和协作。 线程间通信方式 线程间通信方式有两种:共享内存和消息传递,无论是哪种通信模型,线程或者协程最终都会从内存中...
3.Go map为什么是非线程安全的?
67
2024-03-18
《Go语言面试题精讲》
3.Go map为什么是非线程安全的? 3.Go map为什么是非线程安全的? map默认是并发不安全的,同时对map进行并发读写时,程序会panic,原因如下: Go 官方在经过了长时间的讨论后,认为 Go map 更应适配典型使用场景(不需要从多个 goroutine 中进行安全访问),而不是为了小部分情况(并发访问),导致大部分程序付出加锁代...
1.Go 内存分配机制?
64
2024-03-19
《Go语言面试题精讲》
1.Go 内存分配机制? 设计思想 分配组件 内存管理单元:mspan 线程缓存:mcache 中心缓存:mcentral 页堆:mheap 分配对象 分配流程 1.Go 内存分配机制? Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样...
1.Go channel的底层实现原理?
63
2024-03-18
《Go语言面试题精讲》
1.Go channel的底层实现原理? 1.Go channel的底层实现原理? 概念: Go中的channel 是一个队列,遵循先进先出的原则,负责协程之间的通信(Go 语言提倡不要通过共享内存来通信,而要通过通信来实现内存共享,CSP(Communicating Sequential Process)并发模型,就是通过 goroutine ...
9.Go 内置函数make和new的区别?
62
2024-03-18
《Go语言面试题精讲》
9.Go 内置函数make和new的区别? 9.Go 内置函数make和new的区别? 首先纠正下make和new是内置函数,不是关键字 变量初始化,一般包括2步,变量声明 + 变量内存分配,var关键字就是用来声明变量的,new和make函数主要是用来分配内存的 var声明值类型 的变量时,系统会默认为他分配内存空间 ,并赋该类型的零值 比...
7.Go 函数参数传递到底是值传递还是引用传递?
62
2024-03-18
《Go语言面试题精讲》
7.Go 函数参数传递到底是值传递还是引用传递? 7.Go 函数参数传递到底是值传递还是引用传递? 【点击观看视频】Go 函数参数传递到底是值传递还是引用传递? 先说下结论: Go语言中所有的传参都是值传递(传值),都是一个副本,一个拷贝。 参数如果是非引用类型(int、string、struct等这些),这样就在函数中就无法修改原内容数据;...
4.Go slice为什么不是线程安全的?
62
2024-03-18
《Go语言面试题精讲》
4.Go slice为什么不是线程安全的? 4.Go slice为什么不是线程安全的? 先看下线程安全的定义 : 多个线程访问同一个对象时,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。 若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。 再看Go语言实现线程安全常用的几种方式 : 互斥锁...
1..
«
95
96
97
98
»
..100