原创 註解第二部分原理分析和註解處理器

註解的原理分析 簡單的說,註解的底層實現原理就是反射; 根據上一篇我們知道,獲取註解信息,我們是通過反射從從class結構中獲取出,那說明在某個時候註解被加入到class結構中去了。 從java源碼到class字節碼是由編譯器完成

原创 Rxjava入門:簡單介紹與使用(一)

概述 根據RxJava 在 GitHub 的介紹: RxJava:a library for composing asynchronous and event-based programs using observable

原创 Java泛型定義和基本使用筆記

1、 泛型的作用以及定義 1.概述 在我的理解中,泛型主要面向程序封裝和架構設計的使用,在面向對象編程及各種設計模式中有非常廣泛的應用。 爲什麼這麼說呢,首先我們要理解什麼是泛型,爲什麼要使用泛型? Java泛型是J2 S

原创 View第一部分自定義View 簡單介紹及使用

自定義View的分類和使用場景分析 1.繼承View/SurfaceView重寫onDraw方法 這種方法主要用於實現一些不規則的效果,即這種效果不方便通過佈局的組合方式來達到,往往需要靜態或者動態的顯示一些不規則的圖形。很顯

原创 Rxjava 流程分析

Observable的創建流程分析 首先看一張Rxjava的時序圖: step1.Observable.create 在我們的使用案例中,第一步創建一個Observable對象,我們是通過Observable的Create方法來

原创 java基礎 反射的基本概念和Class

什麼是反射機制 採用百度百科的定義: JAVA反射機制是在運行狀態中,對於任意一個實體類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意方法和屬性;這種動態獲取信息以及動態調用對象方法的功能稱爲java語言

原创 java基礎 代理機制

提及代理,我們首先想到的就是設計模式中的代理模式; 那麼代理模式具體是什麼 代理模式簡介 Proxy Pattern 23種設計模式中的其中一種,又被稱作委託模式; 通俗的來講代理模式就是我們生活中常見的中介,或者經紀人這個角

原创 熱修復 筆記 第三部分 優化篇

熱修復的pre-verify問題原理分析 上一篇實戰的時候遺留了一個問題 在Android4.4運行時出現了這樣的一個崩潰: java.lang.IllegalAccessError: Class ref in pre-veri

原创 熱修復 筆記 第二部分 實戰篇

熱修復 實戰 上一篇我們總結了下 熱修復的實現思路: 獲取當前程序的PathClassLoader 反射獲取DexPathClassLoader的pathList屬性 反射獲取pathList中的屬性dexElements 把自

原创 熱修復 筆記 第一部分 分析篇

在騰訊直播學習該課程後,記錄下學習筆記: 熱修復簡述 1、什麼是熱修復 用一個簡單的詞彙來表述,就是補丁,爲了修復某個問題/bug而單獨出的一個更新包; 採用百度百科的說法: 熱修復補丁(hotfix),又稱爲patch,指能夠修

原创 java基礎 多線程概念(一)

多線程中的基礎概念 CPU核心數和線程數的關係 提及目前廣泛的計算機設備,無論是電腦還是手機,都離不開一個設備CPU; CPU是一個需要考慮的核心因素,因爲它決定了電腦或者手機的性能等級。CPU從早期的單核,發展到現在的雙核,

原创 Rxjava源碼分析(一)

Observable的創建流程分析 首先看一張Rxjava的時序圖: step1.Observable.create 在我們的使用案例中,第一步創建一個Observable對象,我們是通過Observable的Create方法來

原创 註解第一部分基礎介紹及使用

註解概述 註解(Annotation),也叫元數據。一種代碼級別的說明。它是JDK1.5及以後版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數等的前面,用來對這些元素進行說明

原创 Andrioid 性能優化基礎

爲什麼要進行性能優化 Android設備作爲一種移動設備,不管是在內存還是CPU的性能都受到一定的限制,無法做到像PC設備那樣的超大內存和高性能CPU,鑑於這一點,就意味着android無法毫無限制的使用內存和CPU資源,過多的使用內

原创 設計模式之適配器模式 Adapter

1 簡單介紹 在計算機編程中,適配器模式(有時候也稱包裝樣式或者包裝)將一個類的接口適配成用戶所期待的。一個適配允許通常因爲接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裹在一個已存在的類中。 共有兩類適配器模式: