原创 論java快速排序

public class QuickSort { public static void main(String[] args) { QuickSort sorter = new QuickSort(); int src[]

原创 淺析java歸併排序的遞歸算法和迭代算法

1.遞歸算法的實現 遞歸算法相對來講更好理解些,採用分治法進行實現,在拆分的元素個數小於三個的時候進行排序。這裏first,last和mid都爲數組元素的下標值。 private void mergeSort1(int[] src, i

原创 源碼淺析ThreadLocal類

ThreadLocal類的簡單介紹 在併發編程中我們經常有共享資源的需求,而通過用鎖的形式來保證資源的安全在多個方法共同讀寫同一資源時很難得到保證。再者,若全局共享一份資源,根據訪問者的不同來處理不同的邏輯也將變的很困難。這時我們的Thr

原创 AsyncTask源碼淺析

在開發的過程中我們如果想進行一些耗時的操作不能直接在UI線程中進行,除了使用Handler機制來進行異步消息處理,Android還給我們提供了一個非常方便的類AsyncTask來進行異步操作,在這篇文章中只對AsyncTask的源碼進行一

原创 深入解析單例模式

一.單例模式的定義 單例模式(Singleton Pattern):確保某一個類只有一個實例,而且自行實例化並向整個系統提供這個實例,這個類稱爲單例類,它提供全局訪問的方法。單例模式是一種對象創建型模式。 二.單例模式的應用場景舉例 1

原创 源碼解析 Universal Image Loader

在大多數的項目中我們都會用到從網絡加載圖片顯示的功能,在Google發佈的Volley框架中也提供了類似的功能,但是個人還是比較習慣Universal Image Loader。在今天的文章中從源碼角度簡單的分析一下Universal I

原创 插件化中Activity的加載

插件化中Activity的加載 前面一系列的文章中我們介紹了Android系統資源加載流程,最後引出插件化中資源加載的方法,完成了『資源動態加載』這一大塊的介紹。本系列文章將重點介紹『代碼動態加載』,拿最熟悉的Activity來開刀。 基

原创 源碼解析Volley框架

Volley是Google在2013年I/O大會上發佈的一個網絡異步請求和圖片加載框架。框架設計的非常好,可擴展性極強,很值得我們去學習。在這篇文章中重點去分析一下它的源碼,Volley的使用在這裏就不多加贅述了,如果有疑問可以參考實例文

原创 java實現鏈表操作

java實現簡單鏈表 線性表接口的抽象 package com.fsc.mylinkedlist; /** * 線性表操作接口 * @author fsc * * @param <T> */ public interface

原创 從源碼角度解析Android消息機制

在android項目的開發中我們經常會有需求在其他線程內更新UI界面,但是系統並不允許我們這麼幹。android的UI系統被設計成單線程訪問模式,深究其原因,無非也是擔心在多線程訪問的情況下可能會導致界面更新的混亂,最終形成了這種界面只能

原创 java泛型(一)--泛型的簡單介紹以及常用情況

一.泛型的基本概念 泛型是JavaSE5引入的一個新概念,實現了參數化類型的概念,並且使代碼可以應用於多種類型。 在日常編寫程序時,我們都會很注重“泛化”,像多態其實就是一種類型的泛化,將子類的對象賦給父類的引用獲得更好的泛化特性,將方法

原创 Activity啓動模式

據我們所知Activity有多種啓動模式,各種啓動模式啓動所帶來的行爲是不同的,據官方文檔所說,在manifest文件<activity>元素中可以設置如下幾個屬性: taskAffinity launchMode 而在Intent中,有

原创 RxJava源碼淺析

Create 創建一個Observable比較簡單,最基礎的方法是調用Observable的create方法進行創建,貼一下示例: Observable.create(new Observable.OnSubscribe<Integer

原创 源碼分析Android中View的繪製流程

在開發中自定義控件的使用是比較頻繁的,而自定義控件的基礎之一就是View的測量以及繪製。這篇文章從源碼的角度簡要分析一下View的測量繪製。 在瞭解View繪製流程之前,必須先要了解一個類,MeasureSpec,它是View的內部類,專

原创 源碼解析EventBus

EventBus通過訂閱者/發佈者機制使得整個系統的耦合度更加的鬆散,在不使用Handler和AsyncTask的情況下也能實現對界面的更新,在這篇文章中主要對EventBus源碼進行一個簡要分析,如果還沒有接觸過這個開源庫可以參考一下官