上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 40 下一页
摘要: goroutine调度器的 Q&A go栈和用户栈如何切换 goroutine如何退出 main goroutine执行完毕后整个进程退出,其它子goroutine也就结束了 goroutine调度时机有哪些 goroutine和线程的区别 从三个角度比较goroutine和tread的区别:内存消 阅读全文
posted @ 2022-03-21 13:51 专职 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 一个sql语句如何执行? mysql软件架构是怎么样的? mysql常用的存储引擎 Innodb MyISAM Memory Archive Innodb是目前最流行的存储引擎,适合各种互联网业务 查询效率非常高的业务可以考虑MyISAM 日志信息归档可以考虑Archive,因为有压缩,磁盘利用率非 阅读全文
posted @ 2022-03-20 15:07 专职 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 为什么需要分布式配置中心 不使用配置中心存在的问题 使用配置中心的方便 配置中心的选型 命名空间的作用:可以隔离配置集,将某些配置集放到某一个命名空间下,命名空间我们一般用来区分微服务 DataId: 配置集,一般一个配置集就是一个配置文件,实际上可以更灵活 组:抛出一个问题,现在确实能够隔离微服务 阅读全文
posted @ 2022-03-19 11:47 专职 阅读(219) 评论(0) 推荐(0) 编辑
摘要: GC的认识 Q&A 什么是GC,有什么作用? GC全称garbage collection, 即垃圾回收,是一种自动内存管理的机制 当程序向操作系统申请的内存不在需要时,垃圾回收主动将其回收并供其它代码申请内存时复用,或者归还给操作系统 这种针对内存级别资源的自动回收过程,称为垃圾回收,而负责垃圾回 阅读全文
posted @ 2022-03-16 17:47 专职 阅读(74) 评论(0) 推荐(0) 编辑
摘要: go中逃逸分析是怎么进行的 变量逃逸的基本原则是:如果一个函数返回对一个变量的引用,那么它就会发生逃逸 简单来说编译器会分析代码的特征和代码的生命周期,go中的变量只有在编译器可以证明函数返回后不会再被引用的, 才会被分配到栈上,其它情况都分配到堆上 go语言中没有一个关键字或者函数可以直接让变量被 阅读全文
posted @ 2022-03-16 13:51 专职 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 反射的 Q&A 概念 在go语言中,reflect可以用来在运行期间获取对象的类型信息和内存结构,reflect操作所需的全部信息都来自接口变量 接口变量除了保存自身的类型以外,还会保存实际对象的类型数据,reflect通过TypeOf函数和ValueOf函数, 将任何传入的对象都转换为接口类型 使 阅读全文
posted @ 2022-03-16 11:05 专职 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 数组与切片 的 Q&A 切片作为函数参数 type slice struct { array unsafe.Pointer len int cap int } slice其实是一个结构体,包含三个成员,len、map、array,分别表示长度、容量和底层数组的地址 当slice作为函数参数时,就是一 阅读全文
posted @ 2022-03-14 14:48 专职 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 案例1: func main() { slice := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} s1 := slice[2:5] // s1=[2, 3, 4], len=3, cap=8 s2 := s1[2:6:7] // s2=[4, 5, 6, 7], len 阅读全文
posted @ 2022-03-14 14:09 专职 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 什么是负载均衡,负载均衡策略有哪些? 什么是负载均衡 负载均衡的策略 集中式load balance 进程内load balance 优缺点: 独立进程负载均衡 总结:用的最多的是第二种,进程内负载均衡 常用的负载均衡算法 grpc的负载均衡策略 grpc从consul中同步服务信息,并进行负载均衡 阅读全文
posted @ 2022-03-13 11:57 专职 阅读(226) 评论(0) 推荐(0) 编辑
摘要: go动态获取可用端口 func GetFreePort() (int, error) { // 动态获取可用端口 addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:0") if err != nil { return 0, err } fmt.Pri 阅读全文
posted @ 2022-03-12 17:54 专职 阅读(872) 评论(0) 推荐(1) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 40 下一页