jdk8原始碼解析系列--前言
寫這篇文章的時候,我也深深的思考過一個問題:我真的有必要研讀jdk原始碼嗎?我知道類庫怎麼使用,在什麼情況下使用不就足夠了?假如你吃了一個雞蛋覺得很好,何必一定要去找下這隻蛋的雞呢? 閱讀jdk原始碼,能夠讓你更深入瞭解java類庫中各種API的實現機理,瞭解原理後再去分析如何使用可以達到提綱挈領的效果;不懂基本原理的話,在分析排查問題時,也很難弄清楚根本原因出在哪裡;jdk類庫的實現原理是很基礎的知識,如果基礎不打好,很難建立起知識的高樓大廈。。。。。。其實tmd我就是因為面試的時候問我jdk原始碼的面試題我沒答上來才決定看的啊,你不懂原始碼怎麼裝B啊,誰知道你學習能力到底強不強啊! 後面一系列文章,不會按照jdk包結構順序來看,會優先挑選常用的類進行分析。
相關推薦
jdk8原始碼解析系列--前言
寫這篇文章的時候,我也深深的思考過一個問題:我真的有必要研讀jdk原始碼嗎?我知道類庫怎麼使用,在什麼情況下使用不就足夠了?假如你吃了一個雞蛋覺得很好,何必一定要去找下這隻蛋的雞呢? 閱讀jdk原始碼,能夠讓你更深入瞭解java類庫中各種API的實現機理,瞭解
rxJava和rxAndroid原始碼解析系列四之subscribeOn和observeOn的理解(學習終結篇)
本篇文章主要解決subscribeOn和observeOn這兩個方法為什麼subscribeOn只有一次有效果,observeOn切換多次回撥的都有效果。 不知道朋友有沒有看過rxandroid的原始碼,如果看過的話,就會迎刃而解,沒什麼疑慮啦。沒看過原始碼的朋友,可以看看我這個系列的前幾篇文章
Java原始碼解析系列(二)ArrayList原始碼解析
備註:以下都是基於JDK8 原始碼分析 ArrayList簡介 ArrayList 是一個數組佇列,相當於 動態陣列。與Java中的陣列相比,它的容量能動態增長。它繼承於AbstractList,實現了List, RandomAccess, Clonea
rxJava和rxAndroid原始碼解析系列二之observer訂閱
建立完Observable物件後,以後一步ObservableObserveOn.subscribe(new Observer<String>() {.....})這一步又發生了什麼呢? 接著跟蹤原始碼。 @SchedulerSupport(Schedu
jdk8原始碼解析第一天(簡化版,只記自己理解的要點)
1.String類: 實現了serilizable,comparable介面,seriliazable僅用於標誌,comparable的comparableTo方法用於比較字串大小。 底層是通過final char[] 實現字串的,其所有方法均是用字元陣列相關方法實現的。
JDK8 原始碼解析 ---HashMap
## Stack過時的類,使用Deque重新實現。 HashMap原始碼解析: HashMap的定義: public class HashMap<K,V> extends AbstractMap<K,V> implements Map&
Ali-Wax使用和原始碼解析系列-Wax的整合和除錯環境搭建
那些多餘的話 在ios平臺的基礎框架中,程式碼的直接動態部署一直是一個無法解決的問題,所以我們只能退而求其次,通過建立指令碼語言和OC的bridge來實現動態更新的目標。在這個方向上,wax-lua框架是第一個解決方案,但是隨著wax-lua作者的放棄維護,w
Seajs原始碼解析系列(一)
前言:以前在做webgis開發的時候,就對dojo的模組化載入方式很好奇,一直想弄清楚它的實現原理,奈何其框架過於龐大,加上自己也懶,就一直沒有深入進行研究。這段時間接觸了Sea.js,淘寶前端大牛玉伯寫的。它遵循的是CMD的載入規範,據說可以像Node一樣
TiKV 原始碼解析系列 - Raft 的優化
本系列文章主要面向 TiKV 社群開發者,重點介紹 TiKV 的系統架構,原始碼結構,流程解析。目的是使得開發者閱讀之後,能對 TiKV 專案有一個初步瞭解,更好的參與進入 TiKV 的開發中。本文是本系列文章的第六章節。重點介紹 TiKV 中 Raft 的優化。 在分散式領域,為了保證資料的一致性,通常都
TiKV 原始碼解析系列——如何使用 Raft
本系列文章主要面向 TiKV 社群開發者,重點介紹 TiKV 的系統架構,原始碼結構,流程解析。目的是使得開發者閱讀之後,能對 TiKV 專案有一個初步瞭解,更好的參與進入 TiKV 的開發中。 需要注意,TiKV 使用 Rust 語言編寫,使用者需要對 Rust 語言有一個大概的瞭解。另外,本系列文章並不
Android原始碼解析系列
知乎上看了一篇非常不錯的博文:有沒有必要閱讀Android原始碼 看完之後痛定思過,平時所學往往是知其然然不知其所以然,所以為了更好的深入Android體系,決定學習Android framework層原始碼。這篇文章就是原始碼學習的彙總篇,包含學習原始碼
【Android7.1.2原始碼解析系列】實戰分析init.rc檔案
實戰分析init.rc檔案 前言:經過上一篇的/system/core/init/readme.txt檔案的翻譯,對於init.rc的語法也有了一定的瞭解,這一篇就對/system/core/rootdir/init.rc檔案進行一個分析,希望能夠藉此對android的開
Android熱更新開源專案Tinker原始碼解析系列之一:Dex熱更新
Tinker是微信的第一個開源專案,主要用於安卓應用bug的熱修復和功能的迭代。 Tinker github地址:https://github.com/Tencent/tinker 首先向微信致敬,感謝毫無保留的開源出了這麼一款優秀的熱更新專案。
【Android7.1.2原始碼解析系列】android init目錄下的Android.mk編譯檔案分析
上一篇文章對於原始碼中的安卓編譯系統文件進行了翻譯,本文就以android當中的init模組作為例子,對其中的Android.mk檔案進行分析,讀者可以在閱讀本文的同時檢視我的譯文:http://blog.csdn.net/class_brick/article/detai
HttpClient原始碼解析系列:第二篇:極簡版實現
極簡版的實現,核心架構的原初模型 從MinimalHttpClient從名字可以看出,是一個極簡可以用的版本,是核心設計的原初模型。所以我們就從最精簡的開始分析。 核心元素只有三個,一個引數 params,一個執行器 requestExecuto
Tomcat總體架構(Tomcat原始碼解析系列二)
Tomcat即是一個HTTP伺服器,也是一個servlet容器,主要目的就是包裝servlet,並對請求響應相應的servlet,純servlet的web應用似乎很好理解Tomcat是如何裝載servlet的,但,當使用一些MVC框架時,如spring M
TiKV 原始碼解析系列文章(三)Prometheus(上)
開發十年,就只剩下這套架構體系了! >>>
TiKV 原始碼解析系列文章(七)gRPC Server 的初始化和啟動流程
作者:屈鵬 本篇 TiKV 原始碼解析將為大家介紹 TiKV 的另一週邊元件—— grpc-rs。grpc-rs 是 PingCA
TiKV 原始碼解析系列文章(十一)Storage
作者:張金鵬 背景知識 TiKV 是一個強一致的支援事務的分散式 KV 儲存。TiKV 通過 raft 來保證多副本之間的強一致,
HashMap原始碼解析(JDK8)
前言 這段時間有空,專門填補了下基礎,把常用的ArrayList、LinkedList、HashMap、LinkedHashMap、LruCache原始碼看了一遍,List相對比較簡單就不單獨介紹了,Map準備用兩篇的篇幅,分別介紹HashMap和(LruCache+LinkedHa