自己動手寫Java虛擬機豆瓣.pdf
http://www.www.srpcoatings.com
2020年11月9日
![]() |
| 第1頁 |
![]() |
| 第5頁 |
![]() |
| 第14頁 |
![]() |
| 第30頁 |
![]() |
| 第50頁 |
![]() |
| 第140頁 |
參見附件(149652KB,278頁)。
自己動手寫Java虛擬機是繼《深入理解Java虛擬機》之后的又一經(jīng)典著作,它一方面遵循《Java虛擬機規(guī)范》,一方面又獨辟蹊徑,不僅能讓Java虛擬機的學(xué)習(xí)變得更加簡單和有趣,而且能讓你對Java虛擬機的原理認識更深入和更深刻!

內(nèi)容提要
本書是繼《深入理解Java虛擬機》之后的又一經(jīng)典著作,它一方面遵循《Java虛擬機規(guī)范》,一方面又獨辟蹊徑,不僅能讓Java虛擬機的學(xué)習(xí)變得更加簡單和有趣,而且能讓你對Java虛擬機的原理認識更深入和更深刻!
本書摒棄了傳統(tǒng)的以解讀枯燥的Java虛擬機規(guī)范文檔和分析繁瑣的Java虛擬機源代碼的方式來講解Java虛擬機,取而代之的是,以實踐的方式,引導(dǎo)讀者如何從零開始構(gòu)建和實現(xiàn)一個Java虛擬機,整個過程不僅能讓讀者做到對Java虛擬機知其然而且知其所以然,還能屏蔽大量不必要的繁瑣細節(jié),體會到實現(xiàn)過程中的成就感,讓學(xué)習(xí)過程更加輕松、愉悅和高效。更重要的是,這種方式能引導(dǎo)讀者更深入地認識和掌握Java虛擬機的工作原理。
本書主要內(nèi)容
全書一共分為11章,各章內(nèi)容安排如下:第1章:安裝開發(fā)環(huán)境,討論java命令,并編寫一個類似Java的命令行程序。
第2章:討論Java虛擬機如何搜索class文件,實現(xiàn)類路徑。
第3章:討論class文件結(jié)構(gòu),實現(xiàn)class文件解析。
第4章:討論運行時數(shù)據(jù)區(qū),實現(xiàn)線程私有的運行時數(shù)據(jù)區(qū),包括線程、Java虛擬機棧、棧幀、操作數(shù)棧和局部變量表等。
第5章:討論Java虛擬機指令集和解釋器,實現(xiàn)解釋器和150余條指令。
第6章:討論類、對象以及線程共享的運行時數(shù)據(jù)區(qū),實現(xiàn)類加載器、方法區(qū)以及部分引用類指令。
第7章:討論方法調(diào)用和返回,實現(xiàn)方法調(diào)用和返回指令。
第8章:討論數(shù)組和字符串,實現(xiàn)數(shù)組相關(guān)指令和字符串池。
第9章:討論本地方法調(diào)用,實現(xiàn)Objet.hashCode()等本地方法第10章:討論異常處理機制,實現(xiàn)athrow指令。
第11章:討論System類的初始化過程和System.out.println()的工作原理等,并對全書進行總結(jié)。
如何閱讀本書
本書代碼經(jīng)過精心調(diào)整,每一章(第1章除外)都建立在前一章的基礎(chǔ)上,但每一章又都可以單獨編譯和運行。本書內(nèi)容主要圍繞代碼對Java虛擬機展開討論。讀者可以從第1章開始,按順序閱讀本書并運行每一章的源代碼,也可以直接跳到感興趣的章節(jié)閱讀,必要時再閱讀其他章節(jié)。
第一章簡介
Java虛擬機非常復(fù)雜,要想真正理解它的工作原理,最好的方式就是自己動手寫一個。本書的目的就是帶領(lǐng)讀者按照Java虛擬機規(guī)范,從零開始,一步一步用Go語言實現(xiàn)一個功能逐步增強的Java虛擬機。第1章將編寫一個類似java的命令行工具,用它來啟動我們自己的虛擬機。在開始編寫代碼之前,需要先準備好開發(fā)環(huán)境。
本書假定讀者使用的是Windows操作系統(tǒng),因此書中出現(xiàn)的命令和路徑等都是Windows形式的。如果讀者使用的是其他操作系統(tǒng)(如Mac OS X、Linux等),需要根據(jù)自己的情況做出相應(yīng)調(diào)整。由于Go和Java都是跨平臺語言,所以本書代碼在常見的操作系統(tǒng)中都可以正常編譯和運行。
自己動手寫Java虛擬機豆瓣截圖



您現(xiàn)在查看是摘要介紹頁, 詳見PDF附件(149652KB,278頁)。





