博客 / 列表

MannaYang - Java深入研究String字符串

提及String字符串,我們更多的是用於文本的傳輸與存儲,在JDK源碼中也被申明為final類型,同時也不屬於Java中基本的數據類型,例如以直接雙引號申明的常量String nameStr="Manna Yang";或者採用構造函數創建String nameStr=new String("Manna Yang");下面將逐步揭開其神秘面紗... class字節碼文件結構 在探究String字符串

源碼學習 , jdk8 , Android , JAVA

MannaYang - Android系統Launcher啓動流程

本文基於android13-release源碼閲讀整理 系統源碼地址:init.h - Android Code Search 前言 以往我們開發Android應用都在系統桌面點擊打開,但桌面Launcher進程是如何加載並展示應用窗口未能深入瞭解,由此去窺探Android系統整體啓動流程以加深對Android開發體系的理解 1.Android系統啓動核心流程 當開機鍵按下時Boot Rom激

源碼學習 , Android , JAVA , jdk13

MannaYang - Android基於WMRouter路由的組件化方案

MannaComponent Android組件化開發框架,基於開源的WMRouter路由、LiveEventBus事件總線、Jetpack系列的MVVM組件集成開發 項目地址 https://github.com/MannaYang/MannaComponent 組件化基礎框架 WMRouter提供基礎的路由+ServiceLoader兩大組件通信功能 LiveEventBus提供跨mod

mvvm , Android , architecture-components

MannaYang - Java深入研究ThreadPoolExecutor線程池

在Java代碼中我們常常會開啓異步線程去執行一些網絡請求,或是開啓子線程去讀寫文件,這些線程的開啓與執行在併發量較小的場景下可以正常運行,如果涉及併發量比較大、線程數量有限、響應速度要快的業務場景下,此時就不允許單獨創建線程去執行任務,而是基於線程池管理、分發線程機制去執行線程任務,從而降低資源消耗、提高響應速度,統一管理線程資源 線程池的創建與分類 Exectors類是concurrent包下的

jdk8 , 源碼分析 , Android , JAVA

MannaYang - Java深入研究Collection集合框架

Java集合框架位於java.util包下,主要包含List、Set、Map、Iterator和Arrays、Collections集合工具類,涉及的數據結構有數組、鏈表、隊列、鍵值映射等,Collection是一個抽象接口,對應List、Set兩類子接口,Map是key-value形式的鍵值映射接口,Iterator是集合遍歷的迭代器,下面是整體框架圖 集合框架整體框架圖 在util包下

jdk8 , 源碼分析 , Android , JAVA