原创 Kotlin的訪問權限管理

遇橫逆之來而不怒 遭變故之起而不驚 當非常之謗而不辯 1. Java中的權限修飾符 我們知道在Java中有四種權限修飾符: public private protected 什麼也不寫(即我們常說的default) 既然是

原创 今天拿到小米正式Offer啦

馬有千里之程,無騎不能自往; 人有沖天之志,非運不能自通; 無論多忙,都要抽時間進行學習提高。 經歷了3輪技術面試,外加部門Leader和HR,總算有驚無險的拿下小米的offer。經過了一週多的時間,正式offer終於審批到手

原创 Vue cli3.0環境配置所遇到的問題

男兒欲遂平生志,五經勤向窗前讀 在使用 Vue cli3.0我們目前都會在下面的文件中進行全局環境變量的配置工作 .env .env.development .env.production 今天幫忙處理別人的項目,遇到的一

原创 剖析LeakCanary—— 中篇

爲善不見其益,如草裏冬瓜,自能暗長; 爲惡不見其損,如庭前春雪,勢必潛消。 官網的一句話:千里之堤,潰於蟻穴 “A small leak will sink a great ship.” - Benjamin Frankli

原创 Handler的前世今生——面試篇

言不必當,極口稱是, 未交此人,故意底毀; 卑庸可恥,不足與論事。 ——《冰鑑》 1. 背景 2020年註定是不平凡的一年,“金三銀四”怕是被疫情給變了性質,希望面試者都能進入自己心儀的公司。 今天面試了一個5年左右的And

原创 剖析LeakCanary—— 下篇

不要小看那些信靠上帝的人,祂能借着他們成就大事 本篇文章就是爲了說明LeakCanary是如何打造Android平臺上的內存泄漏監測過程。按照剖析LeakCanary—— 中篇的思路進行展開論述。 1. 總覽LeakCanar

原创 RxJava3的CallAdapter

吉人之辭寡,躁人之辭多 RxJava + Okhttp + Retrofit 目前仍然是大多數Android項目的網絡框架基石。光陰似箭,歲月如梭,Rxjava 推出3.0版本已有時日,遂打算將項目中的RxJava進行升級操作

原创 剖析LeakCanary—— 上篇

狹路相逢宜回身,往來都是暫時人。 1.吐槽大會 今天剛到工位上組內同事跑過來問我,What’s 引用隊列? 中午吃飯閒聊時,才知道面試被問住啦。這裏根據其描述,大概總結如下: Java中的四種引用類型?並簡述一下其區別?

原创 深入理解Java之HashMap —— 03

1. HashMap的操作流程 1.1 HashMap的構造函數 首先我們來看一下HashMap的構造函數: /** * Constructs an empty {@code HashMap} with the spe

原创 深入理解Java之HashMap —— 01

《精要主義》書中的一些感悟: 幾乎沒有事物的次要性,再怎麼高估都不過分。試着利用精要主義打破用忙碌衡量成功的淺見吧。 無論是在工作or面試中,HashMap都是我們經常打交道的。所以今天我們源碼的角度來窺探其奧妙。 1.Ha

原创 LeeCode 231 - daily01

有爲有不爲,知足知不足 銳氣藏於胸,和氣浮於面 才氣見於事,義氣施於人 — 豐子愷 ​​​ 業精於勤… 題目描述: 給定一個整數,編寫一個函數來判斷它是否是 2 的冪次方。 Leecode 231 該題在小米公司,微軟公

原创 Handler的前世今生4 —— Handler

Handler文檔 我們使用Handler其實就是就是2個功能: 發送消息; 處理消息; 但是在這之前 ,我們要做好準備工作,那就是必須得有Looper和MessageQueue才行。 Handler就類似一個快遞站,如果你

原创 重構改善既有代碼的設計—— 讀書筆記

雖然本人是計算機專業 畢業,但是也學過軟件工程這本課程的。但是在開發這幾年中,聽到架構二字,心中總是充滿敬畏。 後來和公司後端部門的架構師聊了以後,發現其實架構並沒有那麼神祕,給我的建議是——人人都可以做架構師。最起碼一位合格的程

原创 Handler的前世今生——總結篇

通俗地講,Android中的多線程通信就可以認爲是Handler機制。 在Handler的整個機制中,我們首先要知道四個部分: Message MessageQueue; Handler; Looper; Message中的

原创 Handler的前世今生2——Looper

Looper文檔 Handler,MessageQueue,Looper這四大金剛, Message : 消息載體 ; Handler : 發送和處理消息; MessageQueue :存儲消息; Looper:傳輸消息(M