一闪笔记 本次搜索耗时 0.128 秒,为您找到 750 个相关结果.
  • 445.与其他语言相比,使用 Go 有什么好处?

    146 2024-01-23 《Golang面试题》
    与其他语言相比,使用 Go 有什么好处? 与其他语言相比,使用 Go 有什么好处? 参考解析 与其他作为学术实验开始的语言不同,Go 代码的设计是务实的。每个功能和语法决策都旨在让程序员的生活更轻松。 Golang 针对并发进行了优化,并且在规模上运行良好。 由于单一的标准代码格式,Golang 通常被认为比其他语言更具可读性。 自动垃圾收集明显比 ...
  • 578.垃圾回收会影响线程的执行吗

    4 2024-07-24 《Golang面试题》
    垃圾回收会影响线程的执行吗 1. 暂停(Stop-the-World) 2. 并发和增量GC 3. 影响Goroutine的响应时间 4. 影响性能 5. 调优GC 总结 垃圾回收会影响线程的执行吗 垃圾回收(GC)在Go语言中确实会对线程(或者更准确地说,对Goroutine)的执行产生影响。以下是GC对线程执行的具体影响和机...
  • 6 家财万贯之--包的介绍

    3327 2022-11-29 《漫画Go语言》
    包管理和常用包介绍 strings包 strconv包 time包 时间戳 时间戳与时间格式互转 包的声明 包的使用 包管理方案 dep管理方案 mod 模块化管理方案 mod初始化 包管理和常用包介绍 包的概念就是我们程序中的目录,我们所写的所有代码都放在包中在定义的时候用package定义包, 然后使用 import 引入包...
  • 127.go使用中遇到的问题

    171 2024-01-17 《Golang面试题》
    go使用中遇到的问题 go使用中遇到的问题 题目来源:小米 答案1: 1.如短变量声明不能用于包级变量。变量遮蔽(variable shadowing)等。接口返回值与nil比较。 2.接口类型在运行时的表示分为两部分,一部分是类型信息,一部分是值信息。只有当接口类型变量的这两部分的值都为nil时,该变量才与nil相等 3.for r...
  • 4.Go slice为什么不是线程安全的?

    4.Go slice为什么不是线程安全的? 4.Go slice为什么不是线程安全的? 先看下线程安全的定义 : 多个线程访问同一个对象时,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。 若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。 再看Go语言实现线程安全常用的几种方式 : 互斥锁...
  • 4.Go 读写锁的实现原理?

    4.Go 读写锁的实现原理? 概念 使用场景 底层实现结构 操作: 加读锁 释放读锁 加写锁 释放写锁 注意点 互斥锁和读写锁的区别 4.Go 读写锁的实现原理? 概念 读写互斥锁RWMutex,是对Mutex的一个扩展,当一个 goroutine 获得了读锁后,其他 goroutine可以获取读锁,但不能获取写锁;...
  • 5.Go map冲突的解决方式?

    5.Go map冲突的解决方式? 5.Go map冲突的解决方式? 比较常用的Hash冲突解决方案有链地址法和开放寻址法: 链地址法 当哈希冲突发生时,创建新单元 ,并将新单元添加到冲突单元所在链表的尾部。 开放寻址法 当哈希冲突发生时,从发生冲突的那个单元 起,按照一定的次序,从哈希表中寻找一个空闲的单元,然后把发生冲突的元素存入到该单...
  • 540.Go 可重入锁如何实现?

    134 2024-01-25 《Golang面试题》
    Go 可重入锁如何实现? Go 可重入锁如何实现? 参考解析 概念: 可重入锁又称为递归锁,是指在同一个线程在外层方法获取锁的时候,在进入该线程的内层方法时会自动获取锁,不会因为之前已经获取过还没释放再次加锁导致死锁 为什么Go语言中没有可重入锁? Mutex 不是可重入的锁。Mutex 的实现中没有记录哪个 goroutine 拥有这...
  • 536.Go 互斥锁的实现原理?

    141 2024-01-25 《Golang面试题》
    Go 互斥锁的实现原理? Go 互斥锁的实现原理? 参考解析 Go sync包提供了两种锁类型:互斥锁sync.Mutex 和 读写互斥锁sync.RWMutex,都属于悲观锁。 概念: Mutex是互斥锁,当一个 goroutine 获得了锁后,其他 goroutine 不能获取锁(只能存在一个写者或读者,不能同时读和写) 使用场景: ...
  • 17.go 实现不重启热部署

    326 2024-01-16 《Golang面试题》
    go 实现不重启热部署 go 实现不重启热部署 答案1: 根据系统的 SIGHUP 信号量,以此信号量触发进程重启,达到热更新的效果。 热部署我们需要考虑几个能力: 新进程启动成功,老进程不会有资源残留 新进程初始化的过程中,服务不会中断 新进程初始化失败,老进程仍然继续工作 同一时间,只能有一个更新动作执行 监听信号量的方法的环境是在 ...