“ Share,是分享一篇有觀點和思考的技術文章,可以是自己的,也可以是別人的”
Algorithm-一週至少一道算法題
Review-閱讀並點評至少一篇英文技術文章
Tip-學習至少一個技術技巧,總結和歸納在日常工作中所遇到的知識點
Share-分享一篇有觀點和思考的技術文章
01-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的左節點替換當前節點,繼續判斷左子樹。
從思路分析看,可以使用遞歸解決,關鍵在於找到結束遞歸的那個點。
02-Review
——————
https://brooker.co.za/blog/2020/05/25/reading.html
通常來說閱讀論文,有三種目的:查找解決方案、探索新技能、好奇心,後面兩種通常能給日常的工作帶來幫助。
通過論文來學習技能,能找到知識的源頭,但是論文裏面的證明沒有絕對的對與錯的,特別是新的論文,所以要多讀,多學,積累一些知識的背景,之後才能辨別。
03-Tip
——————
服務器過多CLOSE_WAIT出現的原因和解決
從TCP斷開四次握手的流程圖可看出,CLOSE_WAIT是TCP關閉連接過程中的一個正常狀態,出現CLOSE_WAIT的原因,是因爲被動關閉的那一端收到關閉請求後沒有作出ACK響應。
正常的網絡情況下,是有可能出現CLOSE_WAIT的,比如關閉的時候超時等原因,但是這個狀態出現的時間應該是瞬間的,等到一定時間後系統會自動回收該文件描述符的CLOSE_WAIT狀態
從應用的角度看,出現CLOSE_WAIT的原因有:
1、被動關閉端進程退出(比如Mysql鏈接池佔滿沒有釋放)
2、TCP連接超時(網絡太差)
過多的CLOSE_WAIT解決方案
加大連接超時時間
把第三方調用改爲異步請求
及時釋放連接
04-Share
—————
分享一篇文章:讀書的飛輪--https://zhuanlan.zhihu.com/p/55804099
大意就不斷地往大腦裏注入新知識,找出知識間的聯繫,然後更高效率的掌握新的知識,讓讀書的飛輪滾動起來,在學習的過程中,讓舊知識自我淘汰,新知識不斷建立,等到研究某個問題時,真正有用的知識就會浮現在腦海裏。
參考引用
讀書的飛輪
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
原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。
如果本文對你有幫助,請點個贊吧,謝謝
更多精彩內容,請關注個人公衆號。