ARTS 挑战打卡第七周(200622-200628)
Algorthm
https://leetcode.com/problems/trim-a-binary-search-tree
思路:
题目要求是处理二叉搜索树,二叉搜索树的特性就是每个节点最多有两个子节点,左边的比父节点小,右边的比父节点大。根据题目要求,就是要保留 L <= node.val <= R的节点,如果node.val < L,说明node的左节点都比L小,那就把node的右节点替换当前节点,继续判断右子树;如果node.val > R,说明node的右节点都比R大,那就把node的左节点替换当前节点,继续判断左子树。
从思路分析看,可以使用递归解决,关键在于找到结束递归的那个点。
Review
https://brooker.co.za/blog/2020/05/25/reading.html
通常来说阅读论文,有三种目的:查找解决方案、探索新技能、好奇心,后面两种通常能给日常的工作带来帮助。
通过论文来学习技能,能找到知识的源头,但是论文里面的证明没有绝对的对与错的,特别是新的论文,所以要多读,多学,积累一些知识的背景,之后才能辨别。
Tip
服务器过多CLOSE_WAIT出现的原因和解决
从TCP断开四次握手的流程图可看出,CLOSE_WAIT是TCP关闭连接过程中的一个正常状态,出现CLOSE_WAIT的原因,是因为被动关闭的那一端收到关闭请求后没有作出ACK响应。
正常的网络情况下,是有可能出现CLOSE_WAIT的,比如关闭的时候超时等原因,但是这个状态出现的时间应该是瞬间的,等到一定时间后系统会自动回收该文件描述符的CLOSE_WAIT状态
从应用的角度看,出现CLOSE_WAIT的原因有:
1、被动关闭端进程退出(比如Mysql链接池占满没有释放)
2、TCP连接超时(网络太差)
过多的CLOSE_WAIT解决方案
加大连接超时时间
把第三方调用改为异步请求
及时释放连接
Share
分享一篇文章:读书的飞轮
大意就不断地往大脑里注入新知识,找出知识间的联系,然后更高效率的掌握新的知识,让读书的飞轮滚动起来,在学习的过程中,让旧知识自我淘汰,新知识不断建立,等到研究某个问题时,真正有用的知识就会浮现在脑海里。
参考引用
读书的飞轮
https://zhuanlan.zhihu.com/p/55804099
又见CLOSE_WAIT
Anthon Liu,公众号:大房说又见CLOSE_WAIT
线上大量CLOSE_WAIT的原因深入分析
https://juejin.im/post/5c0cf1ed6fb9a04a08217fcc
Reading Research: A Guide for Software Engineers
https://brooker.co.za/blog/2020/05/25/reading.html
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,请点个赞吧,谢谢
版权声明: 本文为 InfoQ 作者【老胡爱分享】的原创文章。
原文链接:【http://xie.infoq.cn/article/b3fd9ea2bc3e8e6fc2db8e909】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论