Java修煉指南:高頻源碼解析

Java修煉指南:高頻源碼解析

《Java修煉指南:高頻源碼解析》是2020年機械工業出版社出版的圖書,作者是開課吧,曹子方,楊富傑,劉常凱。本書是一本講Java JDK源碼的書,它既包括Java SE API的內容(基礎),又兼顧源碼實現的講解(進階),還包含程式設計師們*關心話題:Java面試中的源碼分析(實戰)。這本書用有限的篇幅講透了JDK的源碼,是以上三點的集大成者。

基本介紹

  • 中文名:Java修煉指南:高頻源碼解析
  • 作者:開課吧、劉常凱、楊富傑、曹子方
  • 出版社:機械工業出版社 
  • ISBN:9787111660156
內容簡介,圖書目錄,

內容簡介

本書通過圖文結合的講解方式幫助讀者理解JDK源碼,完成多執行緒並發編程從入門到實踐的飛躍,全書分為7章:第1章主要講解Java基礎類的源碼實現;第2章主要剖析了常用集合類的原理源碼;第3章講解了常用原子類AtomicLong和LongAdder的用法和原理;第4章主要剖析了JUC獨占鎖ReentrantLock的原理源碼,ReentrantLock是學習其他並發類的基礎;第5章剖析了兩種常用並發容器List和Map的實現原理,重點講解了ConcurrentHashMap的實現;第6章講解了阻塞佇列的實現,著重講解其代表類ArrayBlockingQueue 和LinkedBlockingQueue的原理源碼;第7章剖析了執行緒池的原理源碼。本書適合Java研發工程師、對JDK源碼或Java並發編程感興趣以及希望探索JUC包原理源碼人員閱讀。

圖書目錄

◆ 目錄:◆
前言
●第1章Java必須掌握的基礎類
1.1JDK中所有類的基類——Object類
1.1.1為什麼java.lang包下的類不需要手動導入
1.1.2類構造器
1.1.3equals方法
1.1.4getClass方法
1.1.5hashCode方法
1.1.6toString方法
1.1.7notify()/notifyAll()/wait()
1.1.8finalize方法
1.1.9registerNatives方法
1.2Java的深拷貝和淺拷貝
1.2.1創建對象的5種方式
1.2.2Clone方法
1.2.3基本類型和引用類型
1.2.4淺拷貝
1.2.5深拷貝
1.2.6如何實現深拷貝
1.3最常用的引用類——Integer類
1.3.1Integer類簡介
1.3.2Integer的主要屬性
1.3.3Integer類和int的區別
1.3.4構造方法Integer(int),Integer(String)
1.3.5toString(),toString(int i)和toString(int i,int radix)
1.3.6自動拆箱和裝箱
1.3.7回顧本節開篇的問題
1.3.8進行測試
1.3.9equals()方法
1.3.10String類的定義
1.3.11hashCode()方法
1.3.12parseInt(String s)和parseInt(String s,int radix)方法
1.3.13compareTo(Integer anotherInteger)和compare(int x,int y)方法
1.4日常編碼中最常用的類——String類
1.4.1欄位屬性
1.4.2構造方法
1.4.3equals(Object anObject)方法
1.4.4hashCode()方法
1.4.5charAt(int index)方法
1.4.6compareTo(String anotherString)和compareToIgnoreCase(String str)方法
1.4.7concat(String str)方法
1.4.8indexOf(int ch)和indexOf(int ch,int fromIndex)方法
1.4.9split(String regex)和split(String regex,int limit)方法
1.4.10replace(char oldChar,char newChar)和String replaceAll(String regex,
String replacement)方法
1.4.11substring(int beginIndex)和substring(int beginIndex,int endIndex)方法
1.4.12常量池
1.4.13intern()方法
1.4.14String真的不可變嗎
1.5本章小結
●第2章Java數據結構的實現集合類
2.1集合工具類的重要類——Arrays類
2.1.1asList方法
2.1.2sort方法
2.1.3binarySearch方法
2.1.4copyOf方法
2.1.5equals 和 deepEquals方法
2.1.6fill方法
2.1.7toString 和 deepToString方法
2.2List集合的一種典型實現——ArrayList類
2.2.1ArrayList 定義
2.2.2欄位屬性
2.2.3構造函式
2.2.4添加元素
2.2.5刪除元素
2.2.6修改元素
2.2.7查找元素
2.2.8遍歷集合
2.2.9SubList 方法
2.2.10size()方法
2.2.11isEmpty()方法
2.2.12trimToSize()方法
2.3List 集合的另一種典型實現——LinkedList 類
2.3.1LinkedList定義
2.3.2欄位屬性
2.3.3構造函式
2.3.4添加元素
2.3.5刪除元素
2.3.6修改元素
2.3.7查找元素
2.3.8遍歷集合
2.3.9疊代器和for循環效率差異
2.4常用的集合——HashMap 類
2.4.1Hash表
2.4.2什麼是HashMap
2.4.3HashMap定義
2.4.4欄位屬性
2.4.5構造函式
2.4.6確定Hash桶數組索引位置
2.4.7添加元素
2.4.8擴容機制
2.4.9刪除元素
2.4.10查找元素
2.4.11遍曆元素
2.5Map 集合的一種實現——LinkedHashMap 類
2.5.1LinkedHashMap 定義
2.5.2欄位屬性
2.5.3構造函式
2.5.4添加元素
2.5.5刪除元素
2.5.6查找元素
2.5.7遍曆元素
2.5.8疊代器
2.6基於樹實現的類——TreeMap類
2.6.1TreeMap 定義
2.6.2欄位定義
2.6.3構造函式
2.6.4添加元素
2.6.5刪除元素
2.6.6查找元素
2.6.7遍曆元素
2.7本章小結
●第3章Java並發包原子類
3.1原子變數操作類AtomicLong
3.2高性能原子操作類LongAdder
3.2.1LongAdder介紹
3.2.2LongAdder源碼解析
3.3本章小結
●第4章Java並發包鎖
4.1為什麼引入JUC鎖
4.2獨占鎖ReentrantLock原理
4.2.1ReentrantLock簡介
4.2.2AQS同步佇列
4.2.3鎖的獲取
4.2.4鎖的釋放
4.2.5公平鎖和非公平鎖實現區別
4.3Condition條件變數
4.3.1Condition案例
4.3.2Condition的源碼解析
4.4本章小結
●第5章並發容器原理
5.1List並發容器
5.1.1add方法:添加元素
5.1.2修改/插入/刪除
5.1.3get方法:獲取元素
5.2Map並發容器
5.2.1ConcurrentHashMap簡介
5.2.2put方法:添加元素
5.2.3remove方法:刪除元素
5.2.4get方法:獲取元素
5.2.5獲取元素個數:size方法
5.2.6擴容與數據遷移
5.3本章小結
●第6章阻塞佇列原理
6.1生產者-消費者模式
6.2阻塞佇列實現原理
6.3ArrayBlockingQueue源碼解析
6.3.1出隊和入隊的環形佇列
6.3.2插入元素
6.3.3移除元素
6.4LinkedBlockingQueue源碼解析
6.4.1插入元素
6.4.2移除元素
6.5本章小結
●第7章執行緒池原理解析
7.1為什麼要用執行緒池
7.2執行緒池的優點
7.3執行緒池實現原理
7.4執行緒池ThreadPoolExecutor
7.5ThreadPoolExecutor源碼解析
7.5.1execute提交任務
7.5.2addWorker創建並執行工作執行緒
7.5.3關閉執行緒池
7.6本章小結
●附錄
紅黑樹
基礎工具類:Unsafe類
基礎工具類:LockSupport類

熱門詞條

聯絡我們