原创 Android Binder 機制學習4

1. Kernel 層 Binder 驅動 相關結構體解釋 binder_work 結構體 binder_work 用來描述待處理的工作項, 這些工作項有可能屬於一個進程, 也有可能屬於某一個進程中的某一個線程. binder_node

原创 學習分析 JVM 中的對象與垃圾回收機制(下)

跟我一起分析學習 JVM 內存模型 學習分析 JVM 中的對象與垃圾回收機制(上) 學習分析 JVM 中的對象與垃圾回收機制(下) JVM 方面總結 建議按照順序閱讀 在上一章中學習了 JVM 中對象的創建及分配過程. 本章主要學習知

原创 跟我一起分析學習 JVM 內存模型

當執行 main 方法的時候, 其實內部過程是這樣的. 而常說的JVM 內存模型, 即是 JVM 中的運行時數據區. 下面會詳細對齊進行分析, 大部分都是理論的, 可能會有點枯燥. 運行時數據區的構成 Java 虛擬機在執行 Java

原创 學習分析 JVM 中的對象與垃圾回收機制(上)

上一章學習了 JVM 中的內存模型, 也就是運行時數據區的一些知識, 今天接着來繼續學習 JVM 中對象與垃圾回收機制, 本章內容將圍繞以下幾點進行學習. 虛擬機中對象的創建過程. 對象的內存佈局. 對象的訪問定位. 對象的存活以及各種引

原创 從 LockSupport 到 AQS 的簡單學習

學習 AQS 之前, 需要對以下幾點內容都有所瞭解. 本章內容將先從以下幾點開始然後逐步到 AQS. CAS 概念 (在前面幾篇) LockSupport 概念 CLH 隊列鎖概念 AQS 概念 從 ReentrantLock 重入鎖來看

原创 線程方面的總結

1. sychronied 修飾普通方法和靜態方法的區別, 什麼是可見性 對象鎖是用於對象實例方法, 或者一個對象實例上的, 類鎖是用於類的靜態方法或者一個類的 class 對象上的. 類的對象實例可以有多個, 但是每個類只有一個 clas

原创 從 Synchronized 到鎖的優化

我們知道 Synchronized 是 Java 中解決併發問題的一種最常用的方法, 也是最簡單的一種方法. 被也被稱爲內置鎖. Synchronized 的作用主要有三個: 確保線程互斥的訪問同步代碼 保證共享變量的修改能夠及時可見 有

原创 Rxjava 執行流程(一圖頂萬篇)

爲啥會來弄 RxJava 的執行流程圖呢? 其實我也沒用過 RxJava, 好奇心上來簡單的用了一下. 然後下面的圖就誕生了. 感覺非常非常詳細了. 如果你按照我流程圖上的步驟打開源碼一步一步走一遍的話, 相信我, 回頭你再去使用 RxJa

原创 從 java 內存模型到 volatile 的簡單理解

前言 在開始進入正題學習之前, 覺得有必要先來了解一下什麼是計算機內存模型, 然後再回頭看 java 內存模型. 1. 計算機內存模型 爲什麼要有內存模型呢? 我們知道在計算機執行程序的時候, 每條執行都是在 CPU 中執行的, 而執行的

原创 重識 java 線程池

一. 什麼是線程池 線程池就是提前創建若干個線程, 如果有任務需要處理, 線程池裏的線程就會處理任務. 處理完之後線程並不會被銷燬, 而是等待下一個任務.   二. 爲什麼要使用線程池 在開發中, 幾乎所有需要異步或併發執行任務的程序都可以

原创 java 中的阻塞隊列

一. 什麼是隊列 隊列是一種特殊的線性表, 特殊之處在於它只允許在表的前端 (front) 進行刪除操作, 而在表的後端 (rear) 進行插入操作. 和棧一樣, 隊列是一種操作受限制的線性表. 進行插入操作的端稱爲隊尾, 進行刪除操作的

原创 這可能是最詳細的 EventBus 源碼分析02 - EventBus 的註冊(上篇)

這可能是最詳細的 EventBus 源碼分析01 - EventBus 對象的創建 這可能是最詳細的 EventBus 源碼分析02 - EventBus 的註冊(上篇) 這可能是最詳細的 EventBus 源碼分析03 - EventBu

原创 java 基礎回顧 - 基於 CAS 實現原子操作的基本理解

1. 什麼是原子操作 所謂原子操作是指不會被打斷的操作,這種”打斷”在操作系統層面, 一般是指線程間的上下文切換. 這種操作一旦開始, 就一直運行到結束. 簡單來說, 就是這個操作無論多複雜要麼都成功, 要麼全都失敗. 2. 怎麼實現原子操

原创 java 基礎回顧 - 線程基礎

1. 線程的狀態 java 中線程狀態分爲 6 種 New初始: 新創建了一個線程對象, 但是還沒有調用 start() 方法. Runnable運行: Java 線程中將就緒(ready) 和運行中 (running) 兩種狀態都成

原创 這可能是最詳細的 EventBus 源碼分析01 - EventBus 對象的創建

這可能是最詳細的 EventBus 源碼分析01 - EventBus 對象的創建 這可能是最詳細的 EventBus 源碼分析02 - EventBus 的註冊(上篇) 這可能是最詳細的 EventBus 源碼分析03 - EventBu