原创 Rxjava 操作符之錯誤處理 Error Handling

後續出一系列關於rxJava的操作符的詳細教程和文檔說明。參考資料有  https://github.com/ReactiveX/RxJava  https://github.com/ReactiveX/RxJava/wiki/Writi

原创 序列化和反序列化及GSON 原理探究

我們知道在網絡請求中,我們需要把服務返回的json字符串轉化爲實體類,通常我們會用一些框架來完成,比如gson, fastJson 。當然,用的最多還是gson了。那你知道爲什麼gson可以把字符串轉化爲實體類嗎,其原理是什麼?另外,我們

原创 Git學習 和 基本指令解釋

新公司採用了git管理項目,爲此要學習新的版本控制git,瞭解一下這個最先進的分佈式版本控制軟件和其理念。 學習平臺windows,參考資料爲 https://www.runoob.com/git/git-tutorial.html ;廖

原创 加密之MD5、Base64

在編碼中,經常會遇到md5和base64,比如說對於app本地密碼的存儲一般會進行MD5加密後存儲,在http請求時,對於參數值進行base64 編碼在進行傳輸,那麼現在就來了解一下相關奧祕? 在線加解密工具 MD5:(參考文章) 不可逆

原创 Java線程——中斷機制

java線程中斷,也是一個比較難懂的點,但是面試會經常問到,其實中斷就是有2種情況,一種是可阻塞中斷(調用wait、sleep,join 方法),一種是不可阻塞中斷(爭奪鎖sychnrozied)。 對於可中斷阻塞而言,我們可以通過線程的

原创 Java 線程——共享受限資源

談起線程,有很重要的一點是關於解決線程間數據同步,或者說資源的訪問問題。 參考java編程思想 書籍,在21章第三節開始講有關共享資源問題,所以接下來探討關於線程同步機制;解決線程併發引起的數據訪問問題,實際上就要控制訪問的順序和確定相關

原创 Http 相關知識點——post 、get請求樣本代碼

用習慣了網絡請求框架,有時候要自己寫一個,有時候還是挺難的,然後就自己好好總結一下並記錄。 Java get 請求 /** * get 請求 可以傳完整url,也可以傳map * 設置請求頭 請求頭的設置不關g

原创 android FCM 集成

作爲google 官方的推送,相比也是很多app離不開的功能,而且會經常用到的,這裏總結一下如何集成FCM 以及後面探索一下相關原理。 說明:對於任何google service(統計,推送,廣告等等 谷歌服務) 來說,他們都依賴於手機

原创 2019春 面試經歷及題目總結

最近面試很多,總結一下面試經歷和感受,順便記錄一下面試中遇到的題目,警示自己,也供大家參考一下。 技巧: 簡歷書寫: 第一原則,不會的不要寫,寫上去的一定會,至少是用過並有簡單的瞭解; 那種只是聽說過的技能,比如新技術Flutter,別

原创 2019 第一季度總結

19 年,不知不覺已經過去了1個季度了,時間流逝如此之快,令人咂舌。總結一下自己19年第一季度的收穫和認知。 金三銀四的找工作季度,自己也被迫換工作了,參與其中,自己感到困難重重,沒有主動權,認清了形式和自己的技術棧水平,一句話——太差太

原创 android FireBase Analytics集成

Firebase 是google 推出的一款工具提,幫助您開發優質應用並擴大用戶羣,賺取更多收益。可以崩潰統計、推送、數據統計、身份驗證等功能,並支持多個平臺android、iOS、Web 。 本篇文章主要針對android平臺的數據統計

原创 java 數據結構

數組:在內存上是連續,所以在插入、刪除操作上(不是在最後進行插入),可能需要移動很多元素爲其空出一個內存,這樣就花費比較大。所以最大時間O(N)。最少爲常數即在末尾進行增刪。   鏈表:內存上不連續,每個元素之間通過節點連接在一起。而每個

原创 Java 基礎

一、java基本數據類型 byte char int short float long double boolean 一共八種,同時他們的內存佔用情況: 一個字節等於8位;1 byte = 8 bit。 byte:1 byte 8 bit

原创 android Service

定義 :Service 是一個可以在後臺執行長時間運行操作而不提供用戶界面的應用組件 服務基本上分爲兩種形式: 啓動 當應用組件(如 Activity)通過調用 startService() 啓動服務時,服務即處於“啓動”狀態。一旦啓動,

原创 android service AIDL demo

服務間進程通信大部分使用AIDL,其其次原理是Binder ,先寫一個Demo, 可以參考 這裏 。 一 、AIDL 使用教程 1.1 創建要操作的實體類,實現 Parcelable 接口,以便序列化/反序列化 (Serizable沒試過