衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

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

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

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

如何自己動(dòng)手寫Java虛擬機(jī)《自己動(dòng)手寫Java虛擬機(jī)》電子教材免費(fèi)下載

2018-12-12 | pdf | 5.66 MB | 次下載 | 免費(fèi)

資料介紹

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

  眾所周知,Java早已不僅僅是一個(gè)單純的語(yǔ)言,而是一個(gè)開放的平臺(tái)。活躍在這個(gè)平臺(tái)之上的編程語(yǔ)言除了Java之外,還有 Groovy 、Scala 、Clojure 、Jython 和JRuby等。Java虛擬機(jī)則是支持這個(gè)平臺(tái)的基石。

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

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

如何自己動(dòng)手寫Java虛擬機(jī)《自己動(dòng)手寫Java虛擬機(jī)》電子教材免費(fèi)下載

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

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

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

  本書主要內(nèi)容

  全書一共分為11章,各章內(nèi)容安排如下:

  第1章:安裝開發(fā)環(huán)境,討論java命令,并編寫一個(gè)類似Java的命令行程序。

  第2章:討論Java虛擬機(jī)如何搜索class文件,實(shí)現(xiàn)類路徑。

  第3章:討論class文件結(jié)構(gòu),實(shí)現(xiàn)class文件解析。

  第4章:討論運(yùn)行時(shí)數(shù)據(jù)區(qū),實(shí)現(xiàn)線程私有的運(yùn)行時(shí)數(shù)據(jù)區(qū),包括線程、Java虛擬機(jī)棧、棧幀、操作數(shù)棧和局部變量表等。

  第5章:討論Java虛擬機(jī)指令集和解釋器,實(shí)現(xiàn)解釋器和150余條指令。

  第6章:討論類、對(duì)象以及線程共享的運(yùn)行時(shí)數(shù)據(jù)區(qū),實(shí)現(xiàn)類加載器、方法區(qū)以及部分引用類指令。

  第7章:討論方法調(diào)用和返回,實(shí)現(xiàn)方法調(diào)用和返回指令。

  第8章:討論數(shù)組和字符串,實(shí)現(xiàn)數(shù)組相關(guān)指令和字符串池。

  第9章:討論本地方法調(diào)用,實(shí)現(xiàn)Object.hashCode()等本地方法。

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

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

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

  本書代碼經(jīng)過(guò)精心調(diào)整,每一章(第1章除外)都建立在前一章的基礎(chǔ)上,但每一章又都可以單獨(dú)編譯和運(yùn)行。本書內(nèi)容主要圍繞代碼對(duì)Java虛擬機(jī)展開討論。讀者可以從第1章開始,按順序閱讀本書并運(yùn)行每一章的源代碼,也可以直接跳到感興趣的章節(jié)閱讀,必要時(shí)再閱讀其他章節(jié)。

  Java虛擬機(jī)非常復(fù)雜,要想真正理解它的工作原理,最好的方式就是自己動(dòng)手寫一個(gè)。本書的目的就是帶領(lǐng)讀者按照J(rèn)ava虛擬機(jī)規(guī)范,從零開始,一步一步用Go語(yǔ)言實(shí)現(xiàn)一個(gè)功能逐步增強(qiáng)的 Java虛擬機(jī)。第1章將編寫一個(gè)類似java 的命令行工具,用它來(lái)啟動(dòng)我們自己的虛擬機(jī)。在開始編寫代碼之前,需要先準(zhǔn)備好開發(fā)環(huán)境。

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

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
百家乐手机投注平台| 胶州市| 免费百家乐官网计划软件| bet365 论坛| 新时代百家乐官网的玩法技巧和规则| 大发888扑克官方下载| 百家乐官网如何盈利| 威尼斯人娱乐城网址是什么| 百家乐官网庄闲排列| 德州扑克在线玩| 吕百家乐官网赢钱律| 皇冠网赌球安全吗| 百家乐最常见的路子| 赌博百家乐官网赢不了| 金龍百家乐的玩法技巧和规则| 保单百家乐官网游戏机厂家| 搓牌百家乐技巧| 百家乐官网3带厂家地址| 汉百家乐春| 利都百家乐官网国际娱乐场开户注册 | 杨公24山择日| 百家乐打法介绍| 百家乐官网赌场在线娱乐| 金冠娱乐城注册| 百家乐棋牌外挂| 百家乐官网书包| 大发888娱乐场下载 zhidu| 百家乐视频游戏网站| 网上百家乐官网真实度| 太阳城线上真人娱乐| 百家乐正网开户| 真钱百家乐官网游戏大全| 上海德州扑克俱乐部| 百家乐游戏机路法| 网上百家乐官网破战| 甘泉县| sz全讯网网址xb112| 百家乐好的平台| 现场百家乐官网平台源码| 大发888官方c8| 做生意店内格局|