原创 Android組件化、模塊化實現

前言 移動端平臺不斷髮展,不斷迭代更新,APP軟件越來越複雜和龐大,維護和更新亦是如此。爲了解決這些問題,降低軟件的複雜性和耦合度,同時提高開發效率,模塊化在移動端就變得勢在必行。 模塊化理解 模塊化是指解決一個複雜問題時自頂向下逐層把系統

原创 Android組件化、模塊化實現 前言 模塊化理解 模塊化優缺點 模塊化分層 模塊化過程 Arouter使用 問題解決

前言 移動端平臺不斷髮展,不斷迭代更新,APP軟件越來越複雜和龐大,維護和更新亦是如此。爲了解決這些問題,降低軟件的複雜性和耦合度,同時提高開發效率,模塊化在移動端就變得勢在必行。 模塊化理解 模塊化是指解決一個複雜問題時自頂向下逐層把系統

原创 Java虛擬機(8)Class文件結構 無關性 Class類文件結構

無關性 Oracle公司以及其他虛擬機發行商發佈過許多可以運行在各種不同硬件平臺和操作系統上的Java虛擬機,這些虛擬機都可以載入和執行同一種平臺無關的字節碼,從而實現了程序的“一次編寫,到處運行”的平臺無關性。 實現語言無關性的基礎仍然是

原创 Java虛擬機(8)Class文件結構

無關性 Oracle公司以及其他虛擬機發行商發佈過許多可以運行在各種不同硬件平臺和操作系統上的Java虛擬機,這些虛擬機都可以載入和執行同一種平臺無關的字節碼,從而實現了程序的“一次編寫,到處運行”的平臺無關性。 實現語言無關性的基礎仍然是

原创 Android數據庫ObjectBox使用說明

前言 集成GreenDao查詢官網可以看到一則通告:對於新應用程序,我們建議使用ObjectBox,這是一個新的面向對象的數據庫,它比SQLite快得多並且易於使用。對於基於greenDAO的現有應用程序,我們提供了DaoCompat,可輕

原创 Android數據庫ObjectBox使用說明 前言 介紹 項目配置 使用說明

前言 集成GreenDao查詢官網可以看到一則通告:對於新應用程序,我們建議使用ObjectBox,這是一個新的面向對象的數據庫,它比SQLite快得多並且易於使用。對於基於greenDAO的現有應用程序,我們提供了DaoCompat,可輕

原创 java虛擬機(7)垃圾收集器 經典垃圾收集器 低延遲垃圾收集器

經典垃圾收集器 經典收集器之間的關係如圖,七種作用於不同分代的收集器。兩個收集器之間存在連線,就說明它們可以搭配使用。圖中收集器所處的區域,則表示它是屬於新生代收集器抑或是老年代收集器: 新生代收集器:Serial、ParNew、Par

原创 java虛擬機(7)垃圾收集器

經典垃圾收集器 經典收集器之間的關係如圖,七種作用於不同分代的收集器。兩個收集器之間存在連線,就說明它們可以搭配使用。圖中收集器所處的區域,則表示它是屬於新生代收集器抑或是老年代收集器: 新生代收集器:Serial、ParNew、Par

原创 java虛擬機(6)垃圾回收算法實現細節

根節點枚舉 以可達性分析算法中從GC Roots集合找引用鏈這個操作作爲介紹虛擬機高效實現的第一個例子。 固定可作爲GC Roots的節點主要在全局性的引用(例如常量或類靜態屬性)與執行上下文(例如棧幀中的本地變量表)中。目標明確,但J

原创 java虛擬機(6)垃圾回收算法實現細節 根節點枚舉 安全點 安全區域 記憶集和卡片 寫屏障 並行的可達性分析

根節點枚舉 以可達性分析算法中從GC Roots集合找引用鏈這個操作作爲介紹虛擬機高效實現的第一個例子。 固定可作爲GC Roots的節點主要在全局性的引用(例如常量或類靜態屬性)與執行上下文(例如棧幀中的本地變量表)中。目標明確,但J

原创 Java虛擬機(5)對象存活及引用&垃圾回收方法

對象的存活與死亡 堆裏面存放着Java世界中幾乎所有的對象實例,垃圾收集器在對堆進行回收前,第一件事情就是要確定這些對象之中哪些還“存活”着,哪些已經“死去”。 如何確定對象是否存活? 從如何判定對象消亡的角度出發,垃圾收集算法可分爲“引用

原创 Java虛擬機(5)對象存活及引用&垃圾回收方法 對象的存活與死亡 垃圾回收算法

對象的存活與死亡 堆裏面存放着Java世界中幾乎所有的對象實例,垃圾收集器在對堆進行回收前,第一件事情就是要確定這些對象之中哪些還“存活”着,哪些已經“死去”。 如何確定對象是否存活? 從如何判定對象消亡的角度出發,垃圾收集算法可分爲“引用

原创 Android數據庫GreenDao使用說明

介紹 GreenDao是一個開源的 Android ORM嵌入式關係數據庫,通過將 Java 對象映射到數據庫表(稱爲 ORM,“對象/關係映射”) ,使用一個簡單的面向對象的 API 來存儲、更新、刪除和查詢 Java 對象。 Green

原创 Android數據庫GreenDao使用說明 介紹 項目配置 使用說明

介紹 GreenDao是一個開源的 Android ORM嵌入式關係數據庫,通過將 Java 對象映射到數據庫表(稱爲 ORM,“對象/關係映射”) ,使用一個簡單的面向對象的 API 來存儲、更新、刪除和查詢 Java 對象。 Green

原创 Java虛擬機(4)OutOfMemoryError異常

在《Java虛擬機規範》的規定裏,除了程序計數器外,虛擬機內存的其他幾個運行時區域都有發生OutOfMemoryError(OOM)異常的可能。 Java堆溢出 Java堆內存的OutOfMemoryError異常是實際應用中最常見的內