AzkaBan  

2019年9月4日

摘要: 什么时候用指针, 什么时候用值传递, 结构体、尤其sync包下的, 都要用指针传递; 而一些轻量的数据可以使用值传递,也不改变其值;尽量避免反射,在高性能服务中杜绝反射的使用多进行复用, 使用sync.Pool 线上问题优化:批量读与写, 主要问题: CPU占用过高, 主要因为申请释放大量资源造成的 阅读全文
posted @ 2019-09-04 15:08 AzkaBan 阅读(1808) 评论(0) 推荐(0) 编辑
 
摘要: 平衡二叉树: 父节点的左子树和右子树的高度之差不能大于1,也就是说不能高过1层,否则该树就失衡了,此时就要旋转节点,在编码时,我们可以记录当前节点的高度,比如空节点是-1,叶子节点是0,非叶子节点的height往根节点递增,比如在下图中我们认为树的高度为h=2。 /* 1 写出以下逻辑,要求每秒钟调 阅读全文
posted @ 2019-09-04 14:18 AzkaBan 阅读(480) 评论(0) 推荐(0) 编辑
 
摘要: ###应用: 数据接口API, 自动邮件 ### 1. 值传递与引用传递 -> 1. 任何值传递都无改变原始值(map自带地址属性, 数组内的元素自带地址属性), 其他只能通过地址引用; func do(a *[]int){ *a=append(*a,5)} var a = []int{1,2,3} 阅读全文
posted @ 2019-09-04 14:17 AzkaBan 阅读(250) 评论(0) 推荐(0) 编辑