原创 Android應用程序安裝過程解析(源碼解析)

Android應用程序安裝過程解析 1.程序安裝的4大步驟 (1) 拷貝apk文件到指定目錄 在Android系統中,apk安裝文件是會被保存起來的,默認情況下,用戶安裝的apk首先會被拷貝到 /data/app 目錄下。 /data/a

原创 【52】java多線程剖析

線程的狀態: 線程共有下面4種狀態: 新建狀態(New): 新創建了一個線程對象,當你用new創建一個線程時,該線程尚未運行。 就緒狀態(Runnable): 線程對象創建後,其他線程調用了該對象的start()方法。該狀態的線程位於可運

原创 【39】FlexboxLayout使用介紹

FlexboxLayout介紹: Flexbox 也稱爲彈性盒子模型 或伸縮盒子模型,廣泛用於前端開發,做過前端 web 的都知道Bootstrap 中有一套強大的 CSS Grid網格樣式。Bootstrap 的出現 大大提高了前端開發

原创 【42】android Context深度剖析

android程序和java程序的區別 Android程序不像Java程序一樣,隨便創建一個類,寫個main()方法就能跑了,而是要有一個完整的Android工程環境,在這個環境下,我們有像Activity、Service、Broadca

原创 【19】-快速排序詳解

快速排序 定義 由C. A. R. Hoare在1962年提出 通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以

原创 【38】java的集合框架(容器框架)

Collection接口 Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)。一些 Collection允許相同的元素而另一些不行。一些能排序而另一些不行

原创 【15】-java實現二分查找

二分查找在面試中經常被遇到,這個方法十分優雅 介紹 二分查找可以解決(預排序數組的查找)問題:只要數組中包含T(即要查找的值),那麼通過不斷縮小包含T的範圍,最終就可以找到它。一開始,範圍覆蓋整個數組。將數組的中間項與T進行比較,可以排除

原创 【22】-快速排序隨機選擇元素的優雅解法

關於常規解法,請參考上一篇博客,鏈接如下: 面試之路(19)-快速排序詳解 介紹一種優雅的解法 public int partition(int data[],int length,int start,int end) throws E

原创 Android的ANR詳解(原因和方案)

ANR的定義 在Android上,如果你的應用程序有一段時間響應不夠靈敏,系統會向用戶顯示一個對話框,這個對話框稱作應用程序無響應(ANR:Application Not Responding)對話框。用戶可以選擇“等待”而讓程序繼續運行

原创 【50】java 匿名內部類剖析

匿名內部類介紹: 匿名內部類也就是沒有名字的內部類 正因爲沒有名字,所以匿名內部類只能使用一次,它通常用來簡化代碼編寫 但使用匿名內部類還有個前提條件:必須繼承一個父類或實現一個接口 匿名內部類的聲明格式如下: new ParentNam

原创 面試之路(16)-歸併排序詳解(MergeSort)遞歸和非遞歸實現

歸併排序的概念及定義 歸併排序(Merge)是將兩個(或兩個以上)有序表合併成一個新的有序表,即把待排序序列分爲若干個子序列,每個子序列是有序的。然後再把有序子序列合併爲整體有序序列。 歸併排序是建立在歸併操作上的一種有效的排序算法。該算

原创 【14】-java的單例設計模式詳解

預加載模式 代碼: public class Singleton { private volatile static Singleton singleton = new Singleton(); private Singl

原创 【11】-java遞歸和非遞歸二叉樹前序中序後序遍歷

二叉樹的遍歷 對於二叉樹來講最主要、最基本的運算是遍歷。 遍歷二叉樹 是指以一定的次序訪問二叉樹中的每個結點。所謂 訪問結點 是指對結點進行各種操作的簡稱。例如,查詢結點數據域的內容,或輸出它的值,或找出結點位置,或是執行對結點

原创 【17】-冒泡排序詳解

冒泡排序 定義 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。 步驟 1.比較相鄰的元素。如果第一個比第二個大,就交換他們兩個

原创 Android Handler機制剖析

android的handler機制是android的線程通信的核心機制 Android UI是線程不安全的,如果在子線程中嘗試進行UI操作,程序就有可能會崩潰。 Android中的實現了 接收消息的“消息隊列” ——【MessageQue