原创 棧和隊列的java實現

棧是先進後出的數據結構,隊列是先進先出的數據結構,都有用數組和用鏈表的兩種實現方式,我這裏寫的Stack1是用數組實現,Stack2和Queue是用鏈表實現,比較簡單,直接看代碼。 package simpleStructure;

原创 Android檢測IBeacon熱點的方法

這篇文章主要介紹了Android檢測IBeacon熱點的方法,具有一定的參考價值,感興趣的小夥伴們可以參考一下 IBeacon是BLE的一種,搜索iBeacon基站關鍵在於設備掃描到的scanRecord數組,識別

原创 Android中Server組件的簡要啓動過程

讀書筆記,摘自《Android系統源代碼情景分析》。自己將書中文字的意思畫成了示意圖,覺得更好理解,不過如果哪裏畫的不對,請大家指正。只是宏觀上的示意圖,並沒有深入源代碼。 Server組件有兩種啓動模式,一種是在新進程中啓動,一種是在

原创 Android中Activity的簡要啓動過程

這是一篇讀書筆記,內容全部來自於老羅的《Android系統源代碼情景分析》。只是將書中的內容從文字版變成了圖片版本。本文並沒有深入分析整個過程的代碼,只是從宏觀的角度畫出了大致的過程。 Activity的啓動情況分爲兩種,一種是根Act

原创 Java方法傳值和傳址分析

前段時間跟同學討論了java中方法是傳值還是傳址的問題。 得出一個結論:java中一直是傳值。 先看一段代碼: public class Main { public static void main(String[] args

原创 Android檢測IBeacon熱點

IBeacon是BLE的一種,搜索iBeacon基站關鍵在於設備掃描到的scanRecord數組,識別是否有下面加粗斜體的02 15這兩個數字。如果有,搜索到的藍牙設備就是IBeacon。 // AirLocate: // 02 01

原创 java對象實例化過程分析

我們平時經常隨手就new一個對象出來,但是找對象真的這麼簡單嗎?看看下面的分析~ 首先看一下類的生命週期 圖中從2到4的過程統稱爲連接,而1-5這5個過程合起來稱爲類加載。在一個對象可以使用之前,需要經過類加載和實例化,也就是我們

原创 用遞歸實現排列組合(java代碼)

全排列遞歸算法思想:假設求abcdefg的全排列,先將第一個字母確定爲a,然後求bcdefg的全排列就行了,然後將a與b交換位置,重複上述過程,直到a和g交換。 全組合遞歸算法思想:假設求abcdefg的全組合,分兩種情況,一、將a放入

原创 activity,Fragment,Service的生命週期圖

摘自谷歌官網,爲了以後方便查看,放到博客裏面。 首先是Activity的生命週期。 下面是Fragment的生命週期圖。 Service的生命週期圖:

原创 用NFA實現正則表達式匹配(java代碼)

看了一些高評論的博客,看起來都是很高深,我也寫個看起來高深的。 用NFA實現正則表達式匹配,需要的類,有向圖和有向圖的深度遍歷。下面NFA的實現。 package stringFind; import digraph.Digraph;

原创 快速排序的java實現

排序中快速排序和歸併排序的平均時間複雜度的nlogn,所以是比較常用的兩種排序。 快速排序的主要思想是遞歸的“切分”一串兒數字,切分就是選取一個數組中的數字,把數組中比這個數字小的放左邊,大的放右邊,這就完成了一次切分。然後再將切分點左

原创 歸併排序的java實現

歸併排序的思想是,要是一個數組中的數字是兩串已經排好序的,那把這兩串兒數字併成一串數字,那這個數組就排好序了,所以又要先排好左右兩邊的子數組,這是一個明顯的遞歸,直接看代碼。AbstractSort在我的另一篇快排實現中有。 packag

原创 java反射學習

java反射可以讓我們在運行時獲得一個類的屬性,方法等一系列信息。而Class類是用來描述一個類的詳細信息的類。 每一個類都有一個對應的.class字節碼文件。當程序運行時,java虛擬機會將這個.class文件加載,然後在堆上創建一個

原创 android後臺任務(三):Loader

Loader也是android運行後臺任務的方法之一,並且是谷歌推薦的,可以使用CursorLoader,也可以自定義Loader來實現異步任務,下面是使用方法。 一、編寫一個自定義Loader繼承自AsyncTaskLoader

原创 java自定義註解學習

很多的類庫和框架都用到了java的Annotation(註解),所以今天來學習一下怎麼自定義註解。 一、Annotation的分類 1、標準註解:@Override, @Deprecated, @SuppressWarnings,這是