深入理解Java虛擬機器器第三版它來了,通俗易懂,輕鬆搞懂jvm底層

2020-10-01 08:00:16

 

 

前言

Java是目前使用者最多、使用範圍最廣的軟體開發技術,Java的技術體系主要由支撐Java程式執行的虛擬機器器、提供各開發領域介面支援的Java類庫、Java程式語言及許許多多的第三E方Java框架(如Spring、 MyBatis等) 構成。在國內,有關Java類庫API、Java語言語法及第三方框架的技術資料和書籍非常豐富,相比而言,有關Java虛擬機器器的資料卻顯得異常貧乏。

隨著Java技術的不斷髮展,它已被應用於越來越多的領域之中。其中一些領域,如網際網路、能源、金融、通訊等,對程式的效能、穩定性和擴充套件性方面會有極高的要求。一-段程式很可能在10個人同時使用時完全正常,但是在10000個人同時使用時就會緩慢、死鎖甚至崩潰。毫無疑問,要滿足10000個人同時使用,需要更高效能的物理硬體,但是在絕大多數情況下,提升硬體效能無法等比例提升程式的執行效能和並行能力,甚至有可能對程式執行狀況沒有任何改善。這裡面有Java虛擬機器器的原因:為了達到「所有硬體提供一致的虛擬平臺」的目的,犧牲了- -些硬體相關的效能特性。更重要的是人為原因:如果開發人員不瞭解虛擬機器器諸多技術特性的執行原理,就無法寫出最適合虛擬機器器執行和自優化的程式碼。

讓我們一起走進虛擬機器器的世界吧!

2020最新版《深入理解Java虛擬機器器3》pdf感興趣的工程師朋友們轉發此文關注我私信回覆「JVM」免費領取

一、走進Java

世界上並沒有完美的程式,但我們並不因此而沮喪,因為寫程式本來就是一個不斷追求完美的過程。

1.1概述

1.2 Java技術體系

1.3 Java發展史

1.4 Java虛擬機器器家族

1.5展望J ava技術的未來

1.6實戰:自己編譯JDK

1.7本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

二、自動記憶體管理

Java與C+ +之間有一堵由記憶體動態分配和垃圾收集技術所圍成的高牆,牆外面的人想進去,牆裡面的人卻想出來。

第2章Java記憶體區域與記憶體溢位異常

2.1概述

2.2執行時資料區域

2.3 HotSpot虛擬機器器物件探祕

2. 4實戰: 0utOfMem oryErr or異常

2.5本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第3章垃圾收集器與記憶體分配策略

3.1概述

3.2物件已死?

3.3垃圾收集演演算法

3.4 HotSp ot的演演算法細節實現

3.5經典垃圾收集器

3.6低延遲垃圾收集器

3.7選擇合適的垃圾收集器

3.8實戰:記憶體分配與回收策略

3.9小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第4章虛擬機器器效能監控、故障處理工具

4.1概述

4.2基礎故障處理工具

4.3視覺化故障處理工具

4.4 HotSpot虛擬機器器外掛及工具

4.5本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第5章調優案例分析與實戰

5.1概述

5.2案例分析

5.3實戰: Eclipse執行速度調優

5.4本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

三、虛擬機器器執行子系統

程式碼編譯的結果從本地機器碼轉變為位元組碼,是儲存格式發展的一-小步,卻是程式語言發展的一大步。

第6章:類檔案結構

6.1概述

6.2無關性的基石

6.3 Class類檔案的結構

6.4位元組碼指令簡介

6.5公有設計,私有實現

6.6 Class檔案結構的發展

6.7本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第7章:虛擬機器器類載入機制

7. 1概述

7.2類載入的時機

7.3類載入的過程

7.4類載入器

7.5 Java模組化系統

7.6本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第8章:虛擬機器器位元組碼執行引擎

8.1概述

8.2執行時棧幀結構

8.3方法呼叫

8.4動態型別語言支援

8.5基於棧的位元組碼解釋執行引擎

8.6本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第9章:類載入及執行子系統的案例與實戰

9.1概述

9.2案例分析

9.3實戰:自己動手實現遠端執行功能

9.4本章小結

四、程式編譯與程式碼優化

從計算機程式出現的第一天起, 對效率的追逐就是程式設計師天生的堅定信仰,這個過程猶如一場沒有終點、永不停歇的F1方程式競賽,程式設計師是車手,技術平臺則是在賽道上飛馳的賽車。

第10章:前端編譯與優化

10. 1概述

10.2 Javac編譯器

10.3 Java語法糖的味道

10. 4實戰:插入式註解處理器

10. 5本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第11章:後端編譯與優化

11. 1概述

11.2即時編譯器

11.3提前編譯器

11.4編譯器優化技術

11.5實戰:深入理解Gr aal編譯器

11.6本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

五、高效並行

第12章:Java記憶體模型與執行緒

並行處理的廣泛應用是AmdahI定律代替摩爾定律成為計算機效能發展源動力的根本原因,也是人類壓榨計算機運算能力的最有力武器。

12.1概述

12.2硬體的效率與一致性

12.3 Java記憶體模型

12. 4 Java與執行緒

12.5 Java與協程

12.6本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

 

第13章:執行緒安全與 鎖優化

我們瞭解虛擬機器器Java記憶體模型的結構及操作,並且講解了原子性、可見性、有序性在Java記憶體模型中的體現,介紹了先行發生原則的規則及使用。另外,我們還了解了執行緒在Java語言之中是如何實現的,以及代表Java未來多執行緒發展的新並行模型的工作原理。

關於「高效並行"這個話題,在本章中主要介紹了虛擬機器器如何實現「並行」在下一章中,我們的主要關注點將是虛擬機器器如何實現"高效」,以及虛擬機器器對我們編寫的並行程式碼提供了什麼樣的優化手段。

13.1概述

13.2執行緒安全

13.3鎖優化

13.4本章小結

阿里P8寫出的2020最新版《深入理解Java虛擬機器3》輕鬆學會JVM底層

2020年最新版《深入理解Java虛擬機器器3》pdf實戰書籍檔案,對這本書籍感興趣的小夥伴轉發此文,關注我新增助理VX:MXW5308 即可免費領取一本《深入理解Java虛擬機器器3》