Go Module包管理
包管理简史 GOPATH GOROOT:调用官方包,会从$GOROOT/src目录下寻找该包,一个栗子: GOPATH:一个项目一个GOPATH,go get第三方包时,会保存在$GOPATH/src目录下寻找包,一个栗子: 缺点: 没有依赖列表,只能一个一个go get 依赖代码根项目的代码混到$GOPATH/src vendor机制 ...
包管理简史 GOPATH GOROOT:调用官方包,会从$GOROOT/src目录下寻找该包,一个栗子: GOPATH:一个项目一个GOPATH,go get第三方包时,会保存在$GOPATH/src目录下寻找包,一个栗子: 缺点: 没有依赖列表,只能一个一个go get 依赖代码根项目的代码混到$GOPATH/src vendor机制 ...
https://www.nowcoder.com/discuss/526897
一、下载pporf 端点 debug=0 debug=1 debug=2 /debug/pprof/goroutine 二进制(pprof 分析) 简要 Goroutine 堆栈 完整 Goroutine 堆栈 /debug/...
快速排序 思想:分治 1、选一个基准 2、头、尾指针遍历,小于基准在左边,大于基准在右边 3、递归基准的左边、右边 时间复杂度:最好情况每次递归都平分数组,一共需要递归logn次,每次需要n时间,复杂度为O(n*logn),最坏情况每次都把数组分成1和n-1,一共需要递归n次,每次需要n时间,总体复杂度为O(n^2)。平...
哈稀算法 一致性哈稀算法 尽可能少改变已存在的请求与处理请求服务器之间的映射关系 解决分布式系统中简单哈稀存在的动态伸缩问题 优点 可扩展 缺点 分布不均匀 解决:虚拟节点,虚拟节点放在哈稀环,虚拟节点指向物理服务组
定性goroutine泄漏 现象1: goroutine数量持续增长(本文例子使用了goroutine pool,没有持续增长现象) 现象2: 内存持续增长 go tool pprof http://0.0.0.0:6060/debug/pprof/goroutine查看top,runtime.gopark接近100% root@ip:~/pprof# go tool...
问题:海量数据求top K问题 https://blog.csdn.net/zyq522376829/article/details/47686867 10亿个数中找出最大的10000个数 方式1:排序(快排) 时间复杂度:O(NlogN) 空间复杂度:O(NlogN) 方式2:局部淘汰 1、定义一个数组存储最大10000个数 2、遍历10亿数,与最大数...
三种状态 关闭:失败的次数低于阀值 开启:一定时间内,请求快速失败返回,或采用备用链路处理 半开启:熔断器尝试接受一部分请求,若还是请求还是失败,则恢复到开启状态 一些参数 错误比例阀值:达到阀值则进入开启状态 开启状态超时时间:超过后该时间后进入半开启状态 半开启状态允许请求数量: 窗口时间大小: 参考 一文讲透自适应熔断的原理和实现...
死锁四大条件 互斥条件:资源在一个时间段内只能为一个进程使用,其他进程阻塞等待 保持与请求条件:进程在保持占有一个资源,又请求新资源 不可剥夺条件:进程占用的资源只能由该进程释放 循环等待条件:多个进程形成循环等待资源释放 死锁处理方式(根据死锁产生的前中后) 预防死锁 破坏死锁产生条件 避免死锁 银行家算法 加锁顺序 加锁时限 检测死锁 ...
异常进程 孤儿进程: 父进程退出,子进程仍在运行,子进程成了孤儿进程 孤儿进程由init进程接管 僵尸进程: 子进程退出,父进程没有wait或waitpid,子进程描述还存在进程中,这个子进程就成了僵尸进程 并发、并行 并发:一个CPU通过时间片轮询去调度多个程序,CPU同一时刻只能...