原创 【JDK源碼分析系列】ThreadPoolExecutor 源碼解析 -- ThreadPoolExecutor 的類結構

【JDK源碼分析系列】ThreadPoolExecutor 源碼解析 -- ThreadPoolExecutor 的類結構 【1】線程池整體執行流程圖示 線程池相關詳細介紹參見 【JAVA併發編程系列】併發框架 -- Executor

原创 【JDK源碼分析系列】ThreadPoolExecutor 源碼解析 -- 線程池終止

【JDK源碼分析系列】ThreadPoolExecutor 源碼解析 -- 線程池終止 【1】線程池終止 【1.1】ThreadPoolExecutor -- shutdown //shutdown() -- 溫柔的終止線程池 publ

原创 【JDK源碼分析系列】AbstractQueuedSynchronizer 源碼分析 -- 基本屬性

【JDK源碼分析系列】AbstractQueuedSynchronizer 源碼分析 -- 基本屬性 【1】AbstractQueuedSynchronizer 整體架構 1. AQS 中隊列只有兩個 : 同步隊列 + 條件隊列,底層數

原创 【網絡通信 -- 直播】IM 學習系列 -- 網絡通信協議簡介(IP 網際協議)

【網絡通信 -- 直播】IM 學習系列 -- 網絡通信協議簡介(IP 網際協議) 【1】IP 部首 (1) 版本號(Version) : IP 協議的版本, 對於 IPv4 來說值是 4 (2) 頭部長度(IHL) : 4 位最大爲 0

原创 【JDK源碼分析系列】AbstractQueuedSynchronizer 源碼分析 -- 條件隊列的重要方法

【JDK源碼分析系列】AbstractQueuedSynchronizer 源碼分析 -- 條件隊列的重要方法 【1】AbstractQueuedSynchronizer 整體架構 1. AQS 中隊列只有兩個 : 同步隊列 + 條件隊

原创 【JDK源碼分析系列】FutureTask 源碼解析

【JDK源碼分析系列】FutureTask 源碼解析 【1】Runnable // Runnable : 無返回值新建任務的方式 @FunctionalInterface public interface Runnable {

原创 【JDK源碼分析系列】ConcurrentHashMap 源碼分析 -- 增、刪、查操作

【JDK源碼分析系列】ConcurrentHashMap 源碼分析 -- 增、刪、查操作 【0】ConcurrentHashMap 整體架構 構成說明 採用transient volatile HashEntry<K,V>[] tabl

原创 【JDK源碼分析系列】HashMap 源碼分析

【JDK源碼分析系列】HashMap 源碼分析 【0】HashMap 整體架構 【1】HashMap 新增數據流程 1. 空數組有無初始化,沒有的話初始化 2. 如果通過 key 的 hash 能夠直接找到值, 跳轉到 6,否則到 3

原创 【JDK源碼分析系列】HashMap 源碼分析 -- 紅黑樹

【JDK源碼分析系列】HashMap 源碼分析 -- 紅黑樹 【1】紅黑樹定義和性質 紅黑樹是一種含有紅黑結點並能自平衡的二叉查找樹 它必須滿足下面性質 性質1:每個節點要麼是黑色,要麼是紅色 性質2:根節點是黑色 性質3:每個葉子節點(

原创 【JVM系列】JDK 內置工具

【JVM系列】JDK 內置工具 【1】JVM 常用指令 1.1 JAVAP 指令 1.2 JPS 指令 1.3 JSTAT 指令 1.4 JCMD 指令 1.5 JINFO 指令 1.6 JHAT 指令 1.7 JMAP 指

原创 【安卓開發系列 -- 系統開發】AOSP 源碼環境開發系統 APP 預置帶有 SO 的 AAR 包

【安卓開發系列 -- 系統開發】AOSP 源碼環境開發系統 APP 預置帶有 SO 的 AAR 包 【1】案例說明 1. 在 AOSP 源碼環境中開發系統 APP 時需要引入 android-gif-drawable AAR 包並顯示

原创 【RxJava 系列】RxJava 學習與理解

【RxJava 系列】RxJava 學習與理解 【1】JAVA 泛型強化 <? extends T> : 上界通配符 <? super T> : 下界通配符 <? extends C> : 上界爲 C 類型範圍粗略理解爲

原创 【Linux應用程序項目結構搭建】Linux 應用程序項目結構搭建 -- Makefile

【Linux應用程序項目結構搭建】Linux 應用程序項目結構搭建 -- Makefile 【1】Makefile 相關變量說明 $* 不包含擴展名的目標文件名稱。 $+ 所有的依賴文件,以空格分開,並以出現的先後爲序,可能包含重複的依賴

原创 【Linux運維】常用 Linux 命令彙總

【Linux運維】常用 Linux 命令彙總 【1】內存、CPU 相關命令 1. 查使用內存最多的 K 個進程 ps -aux | sort -k4nr | head -K 說明: ps -aux 中( a 指代 all -- 所有的進

原创 【網絡通信 -- 直播】網絡通信協議簡介

【網絡通信 -- 直播】網絡通信協議簡介 【1】IP 協議 【1.1】IP 協議頭 (1) 版本號(Version) : IP 協議的版本, 對於 IPv4 來說值是 4 (2) 頭部長度(IHL) : 4 位最大爲 0xF,注意該字段