原创 Java虛擬機學習---Mac下編譯openJDK 1.9
準備 1、安裝homebrew ,打開命令行工具: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins
原创 Java虛擬機學習---ClassLoader的思考
爲什麼會有雙親委派模型? Java虛擬機在加載一個clas文件時,需要遵循一個流程,這個加載流程就是雙親委派模型,Java類加載器有三種:BootstrapClassLoader(啓動類加載器)、ExtClassLoader(擴展
原创 Day1.zsh簡介及配置(主題和插件)
本篇博客主要解決以下問題: 1、zsh是什麼?oh my zsh是什麼?二者什麼關係? 1、zsh如何安裝以及使用絢麗主題。 2、如何使用功能豐富的插件。 一、zsh 和on my zsh
原创 Day3-4.序列化之Serializable
本篇博客主要解決以下問題: 1、Serializable是怎麼實現的? 2、Serializable中serialVersionUID的作用是什麼?爲什麼會有這個字段?
原创 解決Mac Pro TouchBar虛擬按鍵無反應問題
現象: Mac Pro上的TouchBar虛擬按鍵無反應,音量按鍵無法拖動,也無法鎖屏。 解決方案: 重啓TouchBar。 1、打開命令行工具Terminal或iTerm。 2、輸入指令:killall Contro
原创 Pixel 3 XL 刷入EdXposed框架
一、解鎖OEM 1、打開設置-->關於手機,在版本號處連續點擊7次,調出開發者選項。 2、打開設置-->系統-->高級-->開發者選項,打開USB調試開關和OEM解鎖。 3、若OEM解
原创 7.0以上系統Charles無法抓取https接口的解決方案
現象 Android 7.0及以上系統在即使安裝過證書的情況下,抓取https接口會出現:Client SSL handshake failed: An unknown issue occurred processing the
原创 MIME類型彙總
類型/子類型 擴展名 application/envoy evy application/fractals fif application/futuresplash spl application/hta ht
原创 Java虛擬機學習---Class文件解析
class文件整體結構: 類型 名稱 說明 長度 u4 magic 魔數,識別Class文件格式 4個字節 u2 minor_version 副版本號 2個字節 u2 major_vers
原创 Andorid 多FileProvider問題
背景: 開發SDK過程中,爲了兼容Android 7.0以上文件訪問問題,引入了FileProvider,但業務方在使用SDK的過程中也引入了FileProvider,導致多個FileProvider共存時,打出的apk包Mani
原创 Java虛擬機學習---垃圾回收算法的思考
引用計數算法 給對象添加一個引用計數器,每當有一個地方引用它時,計數器值就加1;當引用失效時,計數器值減1;任何時刻計數器爲0的對象就是不可能被使用的。 這種算法的實現簡單,判定效率也很高,在大部分情況下它都是一個不
原创 Java對象Cloneable實現深拷貝的思考
所謂對象淺拷貝,拷貝的是對象的內存地址,深拷貝,是對將對象裏的內容拷貝出來並放到一個新的對象中,二者的區別是,修改原對象時,淺拷貝會跟着修改,深拷貝對象不受原對象的影響。在一些多線程和併發的場景中經常會牽涉到對象的拷貝。
原创 Java虛擬機學習---Java內存分配模型
在做內存泄露的時候有個疑惑: 爲什麼線程結束時靜態變量不會被回收? 帶着這個問題,去學習了Java的內存分配,記錄下: Java內存模型 上面就是我們經常看到的圖,包含了程序運行期間的所有類、方法、對象
原创 android Profiler 實戰-----CPU佔用率分析
前期準備 1、連接手機 在AndroidStudio右上角的導航欄中有一個圖標可以快速啓動Profiler(紅框中的圖標),點擊後會啓動app。 2、app啓動後在AndroidStudio中會看到下面這張表格:
原创 Mac下編譯openJDK 1.9
準備 1、安裝homebrew ,打開命令行工具: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins