摘要:單一職責原則開閉原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則組合聚合復用原則單一職責原則高內聚低耦合定義不要存在多于一個導致類變更的原因。建議接口一定要做到單一職責,類的設計盡量做到只有一個原因引起變化。使用繼承時遵循里氏替換原則。 單一職責原則 開閉原則 里氏替換原則 依賴倒置原則 接口隔離原則 迪米特法則 組合/聚合復用原則 單一職責原則(Single Responsi...
摘要:初始化的過程上一篇其實并未完全分析完,這回接著來。層的函數中,最后還有的調用,走的是層的。結構體如下的和,以及,其余是狀態及的內容。整個過程是個異步的過程,并不阻塞。至于的東西,都是在層創建并填充的。 初始化的過程上一篇其實并未完全分析完,這回接著來。java層的initPlayer函數中,最后還有native_setup的調用,走的是c層的IjkMediaPlayer_native_...
摘要:注意,和都是隨機選擇一個線程,解除其阻塞狀態,可能會造成死鎖。生產者線程向隊列插入元素,消費者線程從隊列取出元素。當添加時隊列已滿或取出時隊列為空,阻塞隊列導致線程阻塞。里面有個小技巧,一個線程搜索完畢時向阻塞隊列填充,讓所有線程能停下來。 多線程對共享數據的讀寫涉及到同步問題,鎖和條件是線程同步的強大工具。鎖用來保護代碼片段(臨界區),任何時刻只能有一個線程執行被保護的代碼。條件對象...
摘要:棧迭代復雜度時間空間如果不算新鏈表的空間則是思路由于隨機指針有可能產生環路,我們不能直接沿著隨機指針的方向一個一個復制。同時我們又不能沿著指針直接復制,因為我們不知道隨機指針所指向的新節點是哪個。 Copy List with Random Pointer A linked list is given such that each node contains an additiona...
摘要:盒模型是界面布局需要掌握的基本功。盒模型基本概念盒模型四要素。 盒模型是界面布局需要掌握的基本功。 盒模型基本概念 盒模型四要素:margin、border、padding、content。showImg(https://segmentfault.com/img/remote/1460000016655325?w=400&h=300); 盒模型分為:標準盒模型(W3C盒模型) 、 怪異...