原创 設計模式(五)——建造者模式

1. 定義 建造者模式是將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 在用戶不知道對象的建造過程和細節的情況下就可以直接創建複雜的對象。 2. 建造者模式通常包括下面幾個角色: (1)Builder:給出一個

原创 設計模式(一)—— 單例模式

Java中單例模式是一種應用非常廣泛的設計模式,它主要用來保證java的某個類只有一個實例存在, 可以避免實例對象的重複創建,從而節約時間、空間,並且可以避免由於操作多個實例帶來的邏輯錯誤。如果一個對象的使用貫穿整個應用程序,而且起到了全

原创 Android實現計時與倒計時的幾種方法

方法一 Timer與TimerTask(Java實現) public class timerTask extends Activity{ private int recLen = 11; private T

原创 設計模式(二)—— 觀察者模式

1.觀察者模式定義了一系列對象之間的一對多關係,當一個對象的狀態改變,其他依賴者都會收到通知。 2.觀察者模式包含四個角色 (1)抽象被觀察者 (2)抽象觀察者 (3)具體被觀察者 (4)具體觀察者 3.具體的被觀察者和觀察者之間是鬆耦合

原创 設計模式(三)—— 發佈-訂閱模式

1. 發佈訂閱模式和觀察者模式很相似,但並等同 發佈訂閱模式是一種消息範式,消息發送者(發佈者)不會將消息直接發送給特定的接受者(訂閱者),而是將發佈的消息分爲不同的類別,通過一箇中間的消息代理來調度消息,發佈者無需瞭解有哪些訂閱者存在。

原创 git本地分支和遠程分支如何關聯

轉自原文地址https://www.jianshu.com/p/d2fc2e212d1a 一、如何把本地新建分支同步到遠程分支上(注:該分支在遠程上沒有)? 二、又如何在本地把遠程分支上新建分支同步到本地(本地沒有該分支)? 1.其實在從

原创 功能最全的自定義Log工具類

先上代碼,粘貼即用,類名還是定義爲Log,當然需要和android原生Log區分的話,可以自行修改。其中的方法he原生Log類提供的方法一樣。 /** * LogUtils tool description: * Only the

原创 各種常見場景下Activity的生命週期

1. Activity正常啓動: onCreate -> onStart -> onResume 2. Activity啓動另一個Activity: (1)B完全遮擋住A A:onPause -> B:onCreate -> B:onSt

原创 Handler引起的內存泄露

                                           Handler引起的內存泄露 很多場景下需要我們在Activity中使用Handler來將更新UI的操作切換到主線程,這也是Handler最常用的使用場

原创 ArrayList和LinkedList區別及使用場景

ArrayList和LinkedList區別及使用場景 1. LinkedList和ArrayList的差別主要來自於Array和LinkedList數據結構的不同。ArrayList是基於數組實現的,LinkedList是基於雙鏈表實現

原创 Java&Android知識總結

JAVA基礎 1. 類加載和反射 (1)Classloader 類加載機制   雙親委派模型 https://blog.csdn.net/briblue/article/details/54973413 https://www.cnblo

原创 ThreadLocal的原理與使用

ThreadLocal的原理與使用一、ThreadLocal是什麼        ThreadLocal,它不是一個線程,而是線程的一個本地化對象。ThreadLocal是爲了解決多個線程同時訪問一個變量時的併發問題,在多線程環境下,當使

原创 Ubuntu下JDK,SDK, Gradle配置

配置之前下載好需要的版本,解壓到自定義目錄下,然後在 .bashrc文件中添加如下內容,注意替換自己的文件目錄: #export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export JA

原创 Java抽象類和接口的異同

相同點:(1)接口和抽象類都不能被實例化,都位於繼承樹的頂端,用於被其他類實現或繼承。(2)接口和抽象類都可以包含抽象方法,實現接口和繼承抽象類的普通子類都必須實現這些抽象方法。區別:(1)在抽象類中可以寫非抽象的方法,從而避免在子類中重