91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>如何自己動手寫Java虛擬機《自己動手寫Java虛擬機》電子教材免費下載

如何自己動手寫Java虛擬機《自己動手寫Java虛擬機》電子教材免費下載

2018-12-12 | pdf | 5.66 MB | 次下載 | 免費

資料介紹

  Java語言于1995年首次公開發(fā)布,很快便取得了巨大的成功,成為使用最為廣泛的編程語言之一。到現(xiàn)在,Java已經(jīng)經(jīng)歷了20多個年頭。在這期間,無論是Java語言本身還是Java虛擬機技術(shù),都取得了長足的進步?,F(xiàn)如今,Java依然長期占據(jù)TIOBE 網(wǎng)站的編程語言排行榜首。最近更是被TIOBE選為2015年度編程語言,風(fēng)采可謂不減當年。

  眾所周知,Java早已不僅僅是一個單純的語言,而是一個開放的平臺?;钴S在這個平臺之上的編程語言除了Java之外,還有 Groovy 、Scala 、Clojure 、Jython 和JRuby等。Java虛擬機則是支持這個平臺的基石。

  市面上教授Java語言的書籍種類繁多,相比之下,介紹Java虛擬機的書籍卻是鳳毛麟角。這足以說明Java作為一門高級語言是多么成功(讓程序員遠離底層),但并不代表Java虛擬機技術(shù)不重要。恰恰相反,當Java語言掌握到一定程度時,Java虛擬機原理自然就會成為必須越過的一道鴻溝。

  近幾年,國內(nèi)涌現(xiàn)出了一些討論Java虛擬機技術(shù)的優(yōu)秀書籍,這些書籍主要以分析OpenJDK或Oracle JDK為主。本書另辟蹊徑,帶領(lǐng)讀者自己動手從零開始用Go語言編寫Java虛擬機。這樣做好處頗多,彌補了OpenJDK等虛擬機的不足。

如何自己動手寫Java虛擬機《自己動手寫Java虛擬機》電子教材免費下載

  首先,OpenJDK等虛擬機實現(xiàn)非常復(fù)雜。對于初學(xué)者而言,很容易陷入代碼的海洋和不必要的細節(jié)之中。其次,OpenJDK等虛擬機大多用C++語言編寫。C++語言非常復(fù)雜,理解起來難度很大。最后,單純閱讀代碼比較乏味,缺少樂趣,而脫離代碼又很難透徹討論技術(shù)。通過自己動手編寫代碼,很好地避免了上述問題??粗约簩崿F(xiàn)的Java虛擬機功能逐漸增強,看到可以運行的Java程序越來越復(fù)雜,成就感非常強??傊?,通過實踐的方式,相信讀者可以更深刻地領(lǐng)悟Java虛擬機的工作原理

  Go是Google公司于2012年推出的系統(tǒng)編程語言。從到硬件的距離來看,Go語言介于C和Java之間。Go的語法和C類似,但更加簡潔,因此很容易學(xué)習(xí)。Go語言內(nèi)置了豐富的基本數(shù)據(jù)類型,并且支持結(jié)構(gòu)體,所以很適合用來實現(xiàn)Java虛擬機。Go支持指針,但并不支持指針運算,因此用Go編寫的代碼要比C代碼更加安全。此外, Go還支持垃圾回收和接口等Java類語言中才有的功能,大大降低了實現(xiàn)Java虛擬機的難度。

  以上是本書采用Go語言編寫Java虛擬機的原因,希望讀者在學(xué)習(xí)本書的過程中,可以喜歡上Go這門還很年輕的語言。

  本書主要內(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)Object.hashCode()等本地方法。

  第10章:討論異常處理機制,實現(xiàn)athrow指令。

  第11章:討論System類的初始化過程和System.out.println()的工作原理等,并對全書進行總結(jié)。

  本書主要面向有一定經(jīng)驗的Java程序員,但任何對Java虛擬機工作原理感興趣的讀者都可以從本書獲益。如前所述,本書將使用 Go語言實現(xiàn)Java虛擬機。書中會簡要介紹Go語言的部分語法以及與Java語言的區(qū)別,但不會深入討論。由于Go語言相對比較簡單,相信任何有C系列語言(如C、C++、C#、Objective-C、Java等)經(jīng)驗的讀者都可以輕松讀懂書中的源代碼。

  本書代碼經(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)境。

JAVA Class 虛擬機
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1冷柜-電氣控制系統(tǒng)講解
  2. 13.68 MB  |  4次下載  |  10 積分
  3. 2安川A1000變頻器中文版說明書
  4. 20.16 MB  |  3次下載  |  3 積分
  5. 3直流電路的組成和基本定律
  6. 1.67 MB   |  2次下載  |  免費
  7. 4丹佛斯2800系列變頻器說明書
  8. 8.00 MB  |  1次下載  |  5 積分
  9. 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
  10. 0.74 MB   |  1次下載  |  免費
  11. 6ES7243E+ES8311音頻錄制與播放電路資料
  12. 0.06 MB   |  1次下載  |  5 積分
  13. 7SDM02 激光測距模塊產(chǎn)品手冊
  14. 0.43 MB   |  1次下載  |  免費
  15. 8SDFM 激光測距模塊模組手冊
  16. 0.54 MB   |  1次下載  |  免費

本月

  1. 1CH341編程器軟件NeoProgrammer_2.2.0.10
  2. 20.47 MB   |  170次下載  |  1 積分
  3. 22025智能家居傳感器市場分析及創(chuàng)新應(yīng)用
  4. 3.11 MB  |  43次下載  |  免費
  5. 3RV1126B系列開發(fā)板產(chǎn)品資料
  6. 4.19 MB  |  18次下載  |  免費
  7. 4CH341編程軟件下載
  8. 2.50 MB   |  16次下載  |  5 積分
  9. 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
  10. 3.05 MB  |  12次下載  |  免費
  11. 6【開源】60余套STM32單片機、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學(xué)習(xí)資源包
  12. 10.55 MB  |  8次下載  |  免費
  13. 7冷柜-電氣控制系統(tǒng)講解
  14. 13.68 MB  |  4次下載  |  10 積分
  15. 8特斯拉MODEL S車載充電機主電路回路原理圖
  16. 0.81 MB   |  4次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233094次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183356次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81604次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73824次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分