一闪笔记 本次搜索耗时 0.098 秒,为您找到 750 个相关结果.
  • 421.go语言的时候垃圾回收,写代码的时候如何减少小对象分配

    128 2024-01-23 《Golang面试题》
    go语言的时候垃圾回收,写代码的时候如何减少小对象分配 go语言的时候垃圾回收,写代码的时候如何减少小对象分配 参考解析 题目来源:腾讯 答案: go垃圾回收GC触发条件 自动垃圾回收的触发条件有两个: 超过内存大小阈值 达到定时时间 阈值是由一个gcpercent的变量控制的,当新分配的内存占已在使用中的内存的比例超过gcpr...
  • 430.写个channel相关的题,并发模型,爬虫url,控制并发量

    135 2024-01-23 《Golang面试题》
    写个channel相关的题,并发模型,爬虫url,控制并发量 答案: 写个channel相关的题,并发模型,爬虫url,控制并发量 参考解析 题目来源:好未来 答案: 参考:https://cloud.tencent.com/developer/article/1820718 package main import ...
  • 58.空结构体占不占内存空间? 为什么使用空结构体?

    169 2024-01-17 《Golang面试题》
    📑 题目:空结构体占不占内存空间? 为什么使用空结构体? 📑 题目:空结构体占不占内存空间? 为什么使用空结构体? 题目来源: 映客 答案1: 空结构体是没有内存大小的结构体。通过 unsafe.Sizeof() 可以查看空结构体的宽度,代码如下: var s struct {} fmt . Println ( unsafe ...
  • 6.grpc中的异常处理

    1. grpc的状态码 2. go的异常处理 1. 服务端 2. 客户端 1. grpc的状态码 https://github.com/grpc/grpc/blob/master/doc/statuscodes.md 2. go的异常处理 1. 服务端 st := status . New ( codes . Invalid...
  • 358.Go 语言协程怎么跑的

    156 2024-01-22 《Golang面试题》
    Go 语言协程怎么跑的 Go 语言协程怎么跑的 参考解析 题目来源:字节跳动 答案: 设计原理 今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不仅实现非常简陋,也无法支撑高并发的服务。调度器经过几个大版本的迭代才有今天的优异性能,历史上几个不同版本的调度器引入了不同的改...
  • 1、Kratos v2 初步学习 1-创建项目

    安装 kratos 命令工具 安装 Protobuf 编译工具 创建项目 创建项目模板 获得一个干净的项目 这是我的个人学习记录,它未必正确,如有错误请在评论区指出! 在这里我将创建一个Kratos项目,并且使它变得看起来相对干净,方便我后续的代码编写。 参考内容: 《kratos Docs》创建项目: htt...
  • 25.如何开发一个优雅的 Go 应用?

    如何写出优雅的 Go 项目? 编写高质量的 Go 应用 代码结构 代码规范 代码质量 编程哲学 面向接口编程 面向“对象”编程 软件设计方法 设计模式 SOLID 原则 高效管理项目 高效的开发流程 使用 Makefile 管理项目 自动生成代码 善于借助工具 对接 CI/CD 编写高质量的项目文档 小结 Go 语言...
  • 287. go实现一个并发限制爬虫

    140 2024-01-19 《Golang面试题》
    go实现一个并发限制爬虫 答案: go实现一个并发限制爬虫 参考解析 题目来源:字节 答案: 思路:使用有缓冲channel与sync.WatitGroup实现并发限制 利用有缓冲channel的容量控制并发协程数 sync.WatitGroup 控制所有任务完成退出
  • 370.go中协程是如何实现的

    143 2024-01-22 《Golang面试题》
    go中协程是如何实现的 go中协程是如何实现的 参考解析 题目来源:字节跳动 答案: go中协程是如何实现的 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。 因此,协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进...
  • 6. Go 如何排查数据竞争问题?

    6. Go 如何排查数据竞争问题? 概念 排查方式 6. Go 如何排查数据竞争问题? 概念 只要有两个以上的goroutine并发访问同一变量,且至少其中的一个是写操作的时候就会发生数据竞争;全是读的情况下是不存在数据竞争的。 排查方式 package main import "fmt" func main ()...