一、前言 萬丈高樓平地起,相信要想學好java,僅僅掌握基礎的語法是遠遠不夠的,從今天起,筆者將和園友們一起閱讀jdk1.8的源碼,並將閱讀重點放在常見的諸如collection集合以及concurrent並發兩塊,另外筆者自己也是摸着石頭過河,如果有描述不當的地方,希望園友們能夠不吝 ...
序言:上一節說了閱讀源碼的順序,有了一個大體的方向,咱們就知道該如何下手。接下來,就要搭建一個方便閱讀源碼及debug的環境。有助於跟蹤源碼的調用情況。 目前新開發的項目, 大多數都是基於JDK . 開發,所以我選擇該版本進行源碼分析。 JDK . 版本號:jdk . . 一. JDK . 的src在哪里 找到JDK安裝包所在目錄,會看到src.zip的壓縮包,這里面就是JDK的源碼,如下圖。 ...
2019-08-07 11:44 0 2122 推薦指數:
一、前言 萬丈高樓平地起,相信要想學好java,僅僅掌握基礎的語法是遠遠不夠的,從今天起,筆者將和園友們一起閱讀jdk1.8的源碼,並將閱讀重點放在常見的諸如collection集合以及concurrent並發兩塊,另外筆者自己也是摸着石頭過河,如果有描述不當的地方,希望園友們能夠不吝 ...
public final class Integer extends Number implements Comparable<Integer> Integer 由fin ...
1. 帶着問題去閱讀 為什么說ConcurrentHashMap是線程安全的?或者說 ConcurrentHashMap是如何防止並發的? 2. 字段和常量 首先,來看一下ConcurrentHashMap中的一些字段和常量,這些在接下來的操作中會用得到 2.1. 常量 ...
1、HashMap概述: HashMap是基於Map接口的一個非同步實現,此實現提供key-value形式的數據映射,支持null值。 HashMap的常量和重要變量如下: ...
我們發現如果,直接用idea點項目jdk源碼進去后發現自己不能注釋說明,非常麻煩,不便閱讀記錄 於是: 1.在安裝的jdk1.8路徑下,找到src.zip和javafx-src.zip壓縮文件 ,解壓: 2.新建一個簡單的java項目,如果沒有設置 ...
一、前言 分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDownLatch典型的用法是將一個程序分為n個互相獨立的可解決任務,並創建值為n ...
一、前言 分析了CountDownLatch源碼后,下面接着分析Semaphore的源碼。Semaphore稱為計數信號量,它允許n個任務同時訪問某個資源,可以將信號量看做是在向外分發使用資源的許可證,只有成功獲取許可證,才能使用資源。下面開始分析Semaphore的源碼 ...
一、前言 在分析了AbstractQueuedSynchronier源碼后,接着分析ReentrantLock源碼,其實在AbstractQueuedSynchronizer的分析中,已經提到過ReentrantLock,ReentrantLock表示下面具體分析ReentrantLock ...