這本書買了有兩年了,只有買回來翻了兩頁。。。今天電腦有點卡,遊戲玩不了了,就來看看這本書。java
首先看了序言,這本書是第二版,講解的jdk版本是1.7,如今公司用的1.8,並且1.8的改動也挺大的,不過在虛擬機內部實現這一塊好像沒什麼關係,將就看吧。程序員
初版是在1.6的基礎上講解的,第二版除了是對jdk1.7的從新講解以外,會增長對OpenJDK源碼的分析。算法
知識點:JDK從1.5開始,在官方的正式文檔和宣傳資料裏已經再也不使用‘JDK1.5’的名稱,只有程序員內部使用的開發版本號(Developer Version,列如java-version的輸出)才繼續沿用1.五、1.6和1.7的版本號,而公開版本號(Product Version)則改成JDK五、JDK6和JDK7的命名方式安全
做者提供的本書的大綱目錄:數據結構
第一部分 走進java
1. 介紹了java體系的過去,如今和將來的一些發展趨勢,並介紹瞭如何獨立編譯一個OpenJDK7
第二部分 自動內存管理機制
2. 講解虛擬機中內存是如何劃分的,以及內存溢出
3. 分析了垃圾收集的算法和JDK1.7中提供的幾款垃圾街收集器的特色及運做原理
4. 6個命令行工具與2個可視化的故障處理工具的使用方法。
5. 分享實例
第三部分 虛擬機執行子系統
6. class文件結構中的各個組成部分,以及每一個部分的定義,數據結構和使用方法
7. 類加載過程的‘加載’,「驗證」、「準備」、「解析」和「初始化」5個階段虛擬機分別執行了那些動做,類加載器的工做原理和對虛擬機加的意義
8. 虛擬機在執行代碼時如何找到正確的方法,如何執行方法的字節碼,以及執行代碼時設計的內存結構
9. 4個類加載及執行子系統的案例
第四部分 程序編譯與代碼優化
10. 泛型、主動裝箱和拆箱、條件編譯
11. 虛擬機的熱點探測方法,hotspot的即時編譯器、編譯觸發條件
第五部分 高效併發
12. java內存模型的結構及操做,以及原子性、可見性和有序性在java內存模型中的體現,介紹了先行發生原則的規則及使用,線程在java中如何實現
13. 線程安全,同步的實現方式,虛擬機底層運做原理,虛擬機實現高效併發所採起的一系列鎖優化措施