亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×
新網 > 虛擬主機 > 正文

Java究竟為什么需要 JVM(Java虛擬機)?

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-03 17:50:16

JVM是一種規定好的標準規范, 定義了.class文件在其內部運行的相關標準和規范。一般來講,所有的JVM都是基于棧結構的運行方式。那么不符合這種要求的,不算是JVM, 如Android中所使用的Dalvik 虛擬機就不能稱作是JAVA 虛擬機, 因為它是基于寄存器。

   5fe3d114-83b1-4915-b2dc-75977c746cae.jpg

<div>   JVM是一種規定好的標準規范, 定義了.class文件在其內部運行的相關標準和規范。一般來講,所有的JVM都是基于棧結構的運行方式。那么不符合這種要求的,不算是JVM, 如Android中所使用的Dalvik 虛擬機就不能稱作是JAVA 虛擬機, 因為它是基于寄存器。
  JVM相關實現的產品有很多, 通常最有名最常用的就是現在Oracle公司所有的HotSpot 虛擬機。
  Java語言與 JVM之間的關系
  Java程式可以跨平臺,這是你在許多書或文件早就看過的描述,但是跨平臺是怎麼一回事?在這之前,你得先了解跨平臺是怎麼一回事。
  其實對于電腦而言,它只認識一種語言,也就是0101序列所組合而成的指令。當你使用的是C/C++等之類的高階語言編寫代碼時,其實這些語言,都是比較貼近人類語言的語法,不過大部門都是英語語義,對我們來說還是不夠親切,這都是很多小白入門學習的障礙了。這是為了方便人類閱讀及編寫,計算機也看不懂C/C++這類語言。
  你要有個「翻譯員」將你寫的C/C++代碼,翻譯為電腦看得懂的0101序列指令,這個翻譯員就是所謂的「編譯器」(Compiler):
  問題在于,每個平臺所認識的0101序列并不一樣。在Windows上也許某個指令是0101,在Linux下也許是1010,因此不同的平臺必須使用不同的編譯器來編譯你的代碼,而在Windows平臺上編譯好的程序,也不能直接拿到Linux等其它平臺上執行,而必須經過重新編譯的動作,讓編譯器將你的程式編譯為該平臺可以執行的指令。
  由于每個平臺的特性不同,可引用的函數程序庫(Library)不同,也許你的代碼還得作修改,才可以在另一個平臺上編譯執行。這很不方便,就是說如果你在Windows設計了一款游戲,想要賣給Linux的使用者,就得再花費一些功夫。這也是為什么大部分游戲或者軟件只能在Windows運行了。
  Java 也是個高階語言,要讓電腦執行你編寫的應用程序,也是得借助編譯器的翻譯。不過,Java編譯時,并不直接翻譯為相依于某平臺的0101指令,而是翻譯為中介格式的位元碼(byte code)。Java 的原始碼文件格式名為*.java,經過編譯器翻譯過后,會變成*.class的格式文件位元碼。如果想要執行這個位元碼檔案,目標平臺上必須安裝有JVM(Java Virtual Machine)。JVM會將位元碼翻譯為相應平臺支持的語言。
  不同的平臺必須安裝該平臺相對應的JVM。這就好比你講中文(*.java),Java編譯器幫你翻譯為英文(*.class)。之后該英文文件,到當地之后,再由當地看得懂英文的人翻譯為當地的方言。
  所以JVM所擔任的職責之一,就是當地的翻譯員,將位元碼文件翻譯為當時作業系統看得懂的0101序列。不過這不是最重要的,基本上如果只是要翻譯員的話,直譯器(Interpreter )就辦得到了。
  JVM有個很重要的觀念就是:「對于Java程式而言,其實它只認識一種作業系統(或說是一種機器),這個系統叫作JVM,而對于JVM而言,位元碼文件就是它的可執行文件!也就是格式為.class的文件。Java代碼程序,理想上,并不用理會真正執行于哪個平臺之上,它只要知道如何執行于JVM之上就可以了,至于JVM實際上如何與底層平臺作溝通,則是JVM自己的事!」這個觀念非常的重要,對于以后能夠搞清楚所PATH變量與CLASSPATH變量的概念,也有一定的幫助。
 

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 久久精品国产999久久久| 国产精品久久久久久婷婷| 一夲道av无码无卡免费| 永久免费无码成人网站| 女人高潮被爽到呻吟在线观看| 色噜噜狠狠一区二区三区 | 国语憿情少妇无码av| 男女做爰猛烈啪啪吃奶伸舌头下载| 亚洲暴爽av人人爽日日碰| 亚洲一卡2卡三卡4卡无卡下载| 中文字幕亚洲精品乱码| 国产不卡视频一区二区三区| 精品国产一区二区三区av性色| 欧美人与牲动交xxxx| 日韩欧美群交p片內射中文| 精品无码成人久久久久久| 男插女高潮一区二区| 国产99在线 | 欧美| 亚洲午夜精品久久久久久app| 无遮挡18禁啪啪免费观看| 亚洲国产熟妇无码一区二区69 | 少妇被爽到高潮喷水久久欧美精品| 丰满少妇大力进入av亚洲| 国产精成人品日日拍夜夜免费| 日本牲交大片免费观看| 性饥渴的农村熟妇| 无码av大香线蕉伊人久久| 四虎影视4hu4虎成人| 日韩超碰人人爽人人做人人添| 韩日美无码精品无码| 一区二区三区在线观看日韩| 亚洲中久无码永久在线观看同| 亚洲一区二区www在线观看| 无码人妻丰满熟妇区五十路在线 | 欧美成人aa久久狼窝五月丁香| 国产一区二区精品久久久蜜臀 | 国产suv精品一区二区四| 亚洲欧美韩一区二区| 欧美日韩精品一区二区三区高清视频 | 最新精品国偷自产在线婷婷| 在线观看国产精品普通话对白精品 |