原创 二叉樹理解與遍歷

數據結構-樹 樹的定義 樹是n個有限節點的集合。n=0時稱爲空樹。在任意一顆非空樹中: 1.有且僅有一個特定的稱爲根的節點 2.當n>1時其餘節點可分爲m(m>0)個互不相交的有限集T1,T2,T3…Tm,其中每一個集合本身又是一

原创 Java進階04-動態代理、類加載

動態代理和類加載 本節主要複習動態代理和類加載機制。這2個知識點是非常重要的,也是很常見的,可能我們自己用的並不多,但是很多框架中的基礎都是它們2個。如果不知道這些知識 那麼看那些開源框架的源碼就會很喫力。是謂 基礎不牢地動山搖

原创 SeekBar禁止點擊

SeekBar禁止點擊 項目有個需求是Seekbar禁止點擊 只能拖動。本來想直接 網上找找 看有什麼直接設置的方法,但是找了一圈下來又看了源碼,發現原生的Seekbar沒有提供相應的API。沒辦法只能通過自定義了。 要準備的知識

原创 重構改善既有代碼的筆記

本博客主要是學習《重構-改善既有代碼》時的筆記和心得。 結論: 分層的思想,增加層級可以隔離變化 唯一不會變化的就是變化本身 符合6大基本原則 面向接口,面向對象編程,每個類都有抽象父類或者接口 不斷的思考哪裏還可以修改,還可以

原创 6大排序

大話數據結構 目錄: 數據結構和算法理論 線性表 棧與隊列 串 樹 查找 排序 數據結構和算法理論 數據 描述客觀事實的符號,是計算機可操作的對象,是能被計算機識別,並輸入給計算機處理的符號集合。 數據元素 是組成數據的,有一定意

原创 Java進階03-反射,泛型

Java進階知識點-反射和泛型 老規矩先放一張思維導圖鎮樓 Java中的進階知識點有很多,這一篇主要學習反射和泛型。可以說這2個知識點我們自己平時的開始用的可能不多,但是系統源碼和網上的第三方開源庫中用到的是非常多。如果rxja

原创 設計模式之禪-思考上

6大基本原則 程序是面向現實的抽象。 單一職責:類的功能儘量單一,職責單一,只幹一類事情。應該有且僅有一個原因引起類的變更。這個要根據實際項目來設計 類的職責。儘量做到單一。 裏式替換 :所有引用基類的地方必須能透明的使用其子類的

原创 Java進階06-網絡編程,編碼格式

網絡編程 計算機網絡 什麼是IP地址 IP地址一般泛指IPv4,長32比特,以點分十進制表示,範圍爲0.0.0.0~255.255.255.255,IP地址是唯一標識互聯網計算機的邏輯地址。也就是說,每臺計算機都有唯一的IP地址,

原创 Java基礎01-環境,數據類型,String

Java複習01-基礎知識點 本次的基礎知識點複習會有深度的複習,尤其是原理等是重點,做到知其所以然。 先放一張導圖: 1.環境變量配置理解、 大家都知道開發一個java程序 打印出hello world 的流程基本有以下步驟:

原创 Java進階08-集合框架

集合接口 Map接口 定義解釋 爲什麼要有集合框架? 早在 Java 2 中之前,Java 就提供了特設類。比如:Dictionary, Vector, Stack, 和 Properties 這些類用來存儲和操作對象組。 雖

原创 Android Unable to detect adb version, exit value: 0xc0000139

studio 識別不到手機Unable to detect adb version, exit value: 0xc0000139 無法連接ADB 很有可能是升級了platform-tools導致的 裏面的adb.exe 文件錯誤

原创 Java進階07-線程池

線程池 定義 1. 線程池是什麼? 線程池顧名思義就是事先創建若干個可執行的線程放入一個池(容器)中,需要的時候從池中獲取線程不用自行創建,使用完畢不需要銷燬線程而是放回池中,從而減少創建和銷燬線程對象的開銷。 線程池是一種多線程

原创 Binder機制完全理解

Binder機制 看過了很多關於Binder的文章,但是總感覺模模糊糊的,沒抓住重點。所以寫下此文,梳理自己理解的Binder。

原创 Java進階07-線程安全

線程安全 定義 1.什麼是線程安全 當多個線程 同時去操作 共享資源時 能夠得到正確的結果就是線程安全。 2.爲什麼會有線程安全問題。 由於計算機的CPU運算能力比起和內存的交互能力高几個數量級,爲了不浪費CPU的運算能力,所以在

原创 Java虛擬機10-特點

虛擬機 內存佈局與對象創建 從圖片中看,一共分爲了5大區域,分別是:方法區、堆、棧、本地方法區、程序計數器。 這裏我們主要了解下 方法區、堆、 *棧、*這三個區域。 2.方法區: 方法區是一塊所有線程共享的內存區域。 需要保存類