摘要:?jiǎn)我宦氊?zé)原則開(kāi)閉原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則組合聚合復(fù)用原則單一職責(zé)原則高內(nèi)聚低耦合定義不要存在多于一個(gè)導(dǎo)致類變更的原因。建議接口一定要做到單一職責(zé),類的設(shè)計(jì)盡量做到只有一個(gè)原因引起變化。使用繼承時(shí)遵循里氏替換原則。 單一職責(zé)原則 開(kāi)閉原則 里氏替換原則 依賴倒置原則 接口隔離原則 迪米特法則 組合/聚合復(fù)用原則 單一職責(zé)原則(Single Responsi...
摘要:初始化的過(guò)程上一篇其實(shí)并未完全分析完,這回接著來(lái)。層的函數(shù)中,最后還有的調(diào)用,走的是層的。結(jié)構(gòu)體如下的和,以及,其余是狀態(tài)及的內(nèi)容。整個(gè)過(guò)程是個(gè)異步的過(guò)程,并不阻塞。至于的東西,都是在層創(chuàng)建并填充的。 初始化的過(guò)程上一篇其實(shí)并未完全分析完,這回接著來(lái)。java層的initPlayer函數(shù)中,最后還有native_setup的調(diào)用,走的是c層的IjkMediaPlayer_native_...
摘要:注意,和都是隨機(jī)選擇一個(gè)線程,解除其阻塞狀態(tài),可能會(huì)造成死鎖。生產(chǎn)者線程向隊(duì)列插入元素,消費(fèi)者線程從隊(duì)列取出元素。當(dāng)添加時(shí)隊(duì)列已滿或取出時(shí)隊(duì)列為空,阻塞隊(duì)列導(dǎo)致線程阻塞。里面有個(gè)小技巧,一個(gè)線程搜索完畢時(shí)向阻塞隊(duì)列填充,讓所有線程能停下來(lái)。 多線程對(duì)共享數(shù)據(jù)的讀寫涉及到同步問(wèn)題,鎖和條件是線程同步的強(qiáng)大工具。鎖用來(lái)保護(hù)代碼片段(臨界區(qū)),任何時(shí)刻只能有一個(gè)線程執(zhí)行被保護(hù)的代碼。條件對(duì)象...
摘要:棧迭代復(fù)雜度時(shí)間空間如果不算新鏈表的空間則是思路由于隨機(jī)指針有可能產(chǎn)生環(huán)路,我們不能直接沿著隨機(jī)指針的方向一個(gè)一個(gè)復(fù)制。同時(shí)我們又不能沿著指針直接復(fù)制,因?yàn)槲覀儾恢离S機(jī)指針?biāo)赶虻男鹿?jié)點(diǎn)是哪個(gè)。 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); 盒模型分為:標(biāo)準(zhǔn)盒模型(W3C盒模型) 、 怪異...
暫無(wú)介紹