原创 每日一題 - final、finally、finalize有什麼不同?

final:可以用來修飾類、方法、變量,分別有不同的意義,final 修飾的 class 代表不可以繼承擴展,final 的變量是不可以修改的,而 final 的方法也是不可以重寫的(override)。 finally:是 J

原创 每日一題 - 強引用、軟引用、弱引用、幻象引用有什麼區別?

在Java語言中,除了基本數據類型外,其他的都是指向各類對象的對象引用;Java中根據其生命週期的長短,將引用分爲4類。 強引用、軟引用、弱引用、虛引用 各引用的講解 強引用 在平時編碼中,Object obj = new Obj

原创 設計模式之責任鏈模式

定義 爲請求創建一個接收此次請求對象的鏈。 類型 行爲型 適用場景 ①、一個請求的處理需要多個對象當中的一個或幾個協作處理。 優缺點 優點: ①、請求的發送者和接收者(請求的處理)解耦。 ②、責任鏈可以動態組合。 缺點: ①、責任

原创 設計模式之狀態模式

定義 允許一個對象在其內部狀態改變時,改變它的行爲。 類型 行爲型 適用場景 ①、一個對象存在多個狀態(不同狀態下行爲不同),且狀態可相互轉換。 優缺點 優點: ①、將不同的狀態隔離。 ②、把各種狀態的轉換邏輯,分佈到State的

原创 設計模式之中介者模式

定義 定義一個封裝一組對象如何交互的對象 通過使對象明確地相互引用來促進鬆散耦合,並允許獨立地改變它們的交互。 類型 行爲型 適用場景 ①、系統中對象之間存在複雜的引用關係,產生的相互依賴關係結構混亂且難以理解。 ②、交互的公共行

原创 設計模式之橋接模式

定義 將抽象部分與它的具體實現部分分離,使它們都可以獨立地變化。 通過組合的方式建立兩個類之間的聯繫,而不是繼承。 類型 結構型 適用場景 ①、抽象和具體實現之間增加更多的靈活性。 ②、一個類存在兩個(或多個)獨立變化的維度,且這

原创 設計模式之模板方法模式

定義 定義了一個算法的骨架,並允許子類爲一個或多個步驟提供實現。 模板方法使得子類可以在不改變算法結構的情況下,重新定義算法的某些步驟。 類型 行爲型 適用場景 ①、一次性實現一個算法的不變的部分,並將可變的行爲留給子類來實現。

原创 設計模式之代理模式

定義 爲其他對象提供一種代理,以控制對這個對象的訪問。 代理對象在客戶端和目標對象之間起到了中介的作用。 類型 結構型 適用場景 ①、保護目標對象。 ②、增強目標對象。 優缺點 優點: ①、代理模式能將代理對象與真實被調用的目標對

原创 設計模式之迭代器模式

定義 提供了一種方法,順序訪問一個集合對象中的各個元素,而又不暴露該對象的內部表示。 類型 行爲型 適用場景 ①、訪問一個集合對象的內容而無需暴露它的內部表示。 ②、爲遍歷不同的集合結構提供一個統一的接口。 優缺點 優點: ①、分

原创 設計模式之解釋器模式

定義 給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。 爲了解釋一種語言,而爲語言創建的解釋器。 類型 行爲型 適用場景 ①、某個特定類型問題發生頻率足夠高。 優缺點 優點: ①、語

原创 設計模式之觀察者模式

定義 定義了對象之間的一對多依賴,讓多個觀察者對象同時監聽某一個主題對象,當主題對象發生變化時,它的所有依賴者(觀察者)都會收到通知並更新。 類型 行爲型 適用場景 ①、關聯行爲場景,建立一套觸發機制。 優缺點 優點: ①、觀察者

原创 設計模式之策略模式

定義 定義了算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化不會影響到使用算法的用戶。 if…else… 類型 行爲型 適用場景 ①、系統有很多類,而它們的區別僅僅在於它們的行爲不同。 ②、一個系統需要動態地在幾

原创 設計模式之外觀模式

定義 又叫門面模式,提供了一個統一的接口,用來訪問子系統中的一羣接口。 外觀模式定義了一個高層接口,讓子系統更容易使用。 類型 結構型 適用場景 ①、子系統越來越複雜,增加外觀模式提供簡單調用接口。 ②、構建多層系統結構,利用外觀

原创 FastDFS與Nginx結合搭建文件服務器

FastDFS介紹 FastDFS是一個開源的輕量級分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、

原创 微信小程序:視圖容器swiper實現輪播圖

前言 在平時開發中,PC端要想實現輪播圖效果,大都是前端使用js或者其他的js庫來實現。最近在研究微信小程序,發現小程序的輪播圖實現很容易。基本上只用提供數據,其餘的都是通過標籤的屬性來指定,就能實現基本的輪播效果。 編碼實戰 要