精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java虛擬機 JVM的介紹

開發 后端
本文簡要介紹從Java文件的編譯到最終執行的過程,隨后對JVM規格描述作一說明。希望對你有幫助,一起來看。

JVM(Java虛擬機)是可運行Java代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。本文首先簡要介紹從Java文件的編譯到最終執行的過程,隨后對JVM規格描述作一說明。   

一.Java源文件的編譯、下載、解釋和執行   

Java應用程序的開發周期包括編譯、下載、解釋和執行幾個部分。Java編譯程序將Java源程序翻譯為JVM可執行代碼—字節碼。這一編譯過程同C/C++的編譯有些不同。當C編譯器編譯生成一個對象的代碼時,該代碼是為在某一特定硬件平臺運行而產生的。因此,在編譯過程中,編譯程序通過查表將所有對符號的引用轉換為特定的內存偏移量,以保證程序運行。Java編譯器卻不將對變量和方法的引用編譯為數值引用,也不確定程序執行過程中的內存布局,而是將這些符號引用信息保留在字節碼中,由解釋器在運行過程中創立內存布局,然后再通過查表來確定一個方法所在的地址。這樣就有效的保證了Java的可移植性和安全性。   

運行JVM字節碼的工作是由解釋器來完成的。解釋執行過程分三部進行:代碼的裝入、代碼的校驗和代碼的執行。裝入代碼的工作由"類裝載器"(class loader)完成。類裝載器負責裝入運行一個程序需要的所有代碼,這也包括程序代碼中的類所繼承的類和被其調用的類。當類裝載器裝入一個類時,該類被放在自己的名字空間中。除了通過符號引用自己名字空間以外的類,類之間沒有其他辦法可以影響其他類。

在本臺計算機上的所有類都在同一地址空間內,而所有從外部引進的類,都有一個自己獨立的名字空間。這使得本地類通過共享相同的名字空間獲得較高的運行效率,同時又保證它們與從外部引進的類不會相互影響。當裝入了運行程序需要的所有類后,解釋器便可確定整個可執行程序的內存布局。解釋器為符號引用同特定的地址空間建立對應關系及查詢表。通過在這一階段確定代碼的內存布局,Java很好地解決了由超類改變而使子類崩潰的問題,同時也防止了代碼對地址的非法訪問。   

隨后,被裝入的代碼由字節碼校驗器進行檢查。校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。通過校驗后,代碼便開始執行了。   

Java字節碼的執行有兩種方式:   

1.即時編譯方式:解釋器先將字節碼編譯成機器碼,然后再執行該機器碼。   

2.解釋執行方式:解釋器通過每次解釋并執行一小段代碼來完成Java字節碼程 序的所有操作。   

通常采用的是第二種方法。由于JVM規格描述具有足夠的靈活性,這使得將字節碼翻譯為機器代碼的工作   

具有較高的效率。對于那些對運行速度要求較高的應用程序,解釋器可將Java字節碼即時編譯為機器碼,從而很好地保證了Java代碼的可移植性和高性能。   

二.JVM規格描述   

JVM的設計目標是提供一個基于抽象規格描述的計算機模型,為解釋程序開發人員提很好的靈活性,同時也確保Java代碼可在符合該規范的任何系統上運行。JVM對其實現的某些方面給出了具體的定義,特別是對Java可執行代碼,即字節碼(Bytecode)的格式給出了明確的規格。這一規格包括操作碼和操作數的語法和數值、標識符的數值表示方式、以及Java類文件中的Java對象、常量緩沖池在JVM的存儲映象。這些定義為JVM解釋器開發人員提供了所需的信息和開發環境。Java的設計者希望給開發人員以隨心所欲使用Java的自由。     

JVM定義了控制Java代碼解釋執行和具體實現的五種規格,它們是:   

  • JVM指令系統   
  • JVM寄存器   
  • JVM棧結構   
  • JVM碎片回收堆   
  • JVM存儲區   

2.1JVM指令系統     

JVM指令系統同其他計算機的指令系統極其相似。Java指令也是由 操作碼和操作數兩部分組成。操作碼為8位二進制數,操作數進緊隨在操作碼的后面,其長度根據需要而不同。操作碼用于指定一條指令操作的性質(在這里我們采用匯編符號的形式進行說明),如iload表示從存儲器中裝入一個整數,anewarray表示為一個新數組分配空間,iand表示兩個整數的"與",ret用于流程控制,表示從對某一方法的調用中返回。

當長度大于8位時,操作數被分為兩個以上字節存放。JVM采用了"big endian"的編碼方式來處理這種情況,即高位bits存放在低字節中。這同 Motorola及其他的RISC CPU采用的編碼方式是一致的,而與Intel采用的"little endian "的編碼方式即低位bits存放在低位字節的方法不同。     

Java指令系統是以Java語言的實現為目的設計的,其中包含了用于調用方法和監視多先程系統的指令。Java的8位操作碼的長度使得JVM最多有256種指令,目前已使用了160多種操作碼。     

2.2JVM指令系統

所有的CPU均包含用于保存系統狀態和處理器所需信息的寄存器組。如果虛擬機定義較多的寄存器,便可以從中得到更多的信息而不必對棧或內存進行訪問,這有利于提高運行速度。然而,如果虛擬機中的寄存器比實際CPU的寄存器多,在實現虛擬機時就會占用處理器大量的時間來用常規存儲器模擬寄存器,這反而會降低虛擬機的效率。針對這種情況,JVM只設置了4個最為常用的寄存器。它們是:   

  • pc程序計數器   
  • optop操作數棧頂指針   
  • frame當前執行環境指針   

vars指向當前執行環境中第一個局部變量的指針 所有寄存器均為32位。pc用于記錄程序的執行。optop,frame和vars用于記錄指向Java棧區的指針。     

2.3JVM棧結構   

作為基于棧結構的計算機,Java棧是JVM存儲信息的主要方法。當JVM得到一個Java字節碼應用程序后,便為該代碼中一個類的每一個方法創建一個棧框架,以保存該方法的狀態信息。每個棧框架包括以下三類信息:   

  • 局部變量   
  • 執行環境   
  • 操作數棧      

局部變量用于存儲一個類的方法中所用到的局部變量。vars寄存器指向該變量表中的第一個局部變量。   

執行環境用于保存解釋器對Java字節碼進行解釋過程中所需的信息。它們是:上次調用的方法、局部變量指針和操作數棧的棧頂和棧底指針。執行環境是一個執行一個方法的控制中心。例如:如果解釋器要執行iadd(整數加法),首先要從frame寄存器中找到當前執行環境,而后便從執行環境中找到操作數棧,從棧頂彈出兩個整數進行加法運算,最后將結果壓入棧頂。 操作數棧用于存儲運算所需操作數及運算的結果。     

2.4JVM碎片回收堆   

Java類的實例所需的存儲空間是在堆上分配的。解釋器具體承擔為類實例分配空間的工作。解釋器在為一個實例分配完存儲空間后,便開始記錄對該實例所占用的內存區域的使用。一旦對象使用完畢,便將其回收到堆中。

在Java語言中,除了new語句外沒有其他方法為一對象申請和釋放內存。對內存進行釋放和回收的工作是由Java運行系統承擔的。這允許Java運行系統的設計者自己決定碎片回收的方法。在SUN公司開發的Java解釋器和Hot Java環境中,碎片回收用后臺線程的方式來執行。這不但為運行系統提供了良好的性能,而且使程序設計人員擺脫了自己控制內存使用的風險。     

2.5JVM存儲區

JVM有兩類存儲區:常量緩沖池和方法區。常量緩沖池用于存儲類名稱、方法和字段名稱以及串常量。方法區則用于存儲Java方法的字節碼。對于這兩種存儲區域具體實現方式在JVM規格中沒有明確規定。這使得Java應用程序的存儲布局必須在運行過程中確定,依賴于具體平臺的實現方式。     

JVM是為Java字節碼定義的一種獨立于具體平臺的規格描述,是Java平臺獨立性的基礎。目前的JVM還存在一些限制和不足,有待于進一步的完善,但無論如何,JVM的思想是成功的。   

對比分析:如果把Java原程序想象成我們的C++原程序,Java原程序編譯后生成的字節碼就相當于C++原程序編譯后的80x86的機器碼(二進制程序文件),JVM虛擬機相當于80x86計算機系統,Java解釋器相當于80x86CPU。在80x86CPU上運行的是機器碼,在Java解釋器上運行的是Java字節碼。   

Java解釋器相當于運行Java字節碼的“CPU”,但該“CPU”不是通過硬件實現的,而是用軟件實現的。Java解釋器實際上就是特定的平臺下的一個應用程序。只要實現了特定平臺下的解釋器程序,Java字節碼就能通過解釋器程序在該平臺下運行,這是Java跨平臺的根本。當前,并不是在所有的平臺下都有相應Java解釋器程序,這也是Java并不能在所有的平臺下都能運行的原因,它只能在已實現了Java解釋器程序的平臺下運行。

【編輯推薦】

  1. 詳細介紹Java語言中的IO系統
  2. JAVA中執行DOS命令分析
  3. Java編程語言基礎JSP基本語法的詳細介紹
  4. Java程序中解決數據庫超時與死鎖
  5. JavaFX對Java開發者到底意味著什么
責任編輯:于鐵 來源: 互聯網
相關推薦

2010-09-17 15:12:57

JVMJava虛擬機

2010-09-25 15:13:40

JVMJava虛擬機

2020-05-08 16:55:48

Java虛擬機JVM

2010-09-25 16:12:45

JVM虛擬機

2009-06-04 16:27:39

Java虛擬機JVMGC

2011-11-30 14:12:05

JavaJVM虛擬機

2010-03-15 14:24:59

StackHeapJVM

2010-09-25 15:59:54

JVM虛擬機

2012-04-28 12:03:55

JavaJVMJava虛擬機

2010-03-03 09:57:37

Linux虛擬機

2018-10-25 09:04:56

Java虛擬機JVM

2015-03-12 14:06:08

Java虛擬機平臺原理

2023-12-14 10:35:22

虛擬機程序

2012-05-18 10:22:23

2018-06-19 15:39:21

HeapJava虛擬機

2023-07-27 06:59:30

Native線程數據結構

2010-09-25 09:10:38

JAVA虛擬機

2020-01-17 10:52:37

無服務器容器技術

2020-01-06 10:58:18

JvmGC機制虛擬機

2018-09-11 14:47:51

面試Java虛擬機
點贊
收藏

51CTO技術棧公眾號

亚洲第一福利社区| wwwav在线| 蜜臀av一区二区| 欧美xxxx18性欧美| aaaaaav| 超碰这里只有精品| 亚洲自拍偷拍av| 日本午夜精品一区二区三区| 国产黄a三级三级三级| 亚洲在线免费| 蜜臀久久99精品久久久无需会员| 星空大象在线观看免费播放| 国产69精品久久久久按摩| 亚洲一区二区在线免费观看视频| 欧美凹凸一区二区三区视频| 国产精品视频久久久久久| 一本色道久久综合一区| 久久精品国产一区二区电影| 国产精品九九九九九| 精品欧美视频| 欧美怡红院视频| a在线视频观看| 国内精品久久久久久野外| 91麻豆国产福利精品| 99热在线播放| 91国在线视频| 日韩国产精品久久久| 国内精品免费午夜毛片| 中文字幕无码日韩专区免费| 精品中文一区| 亚洲黄在线观看| 男人女人拔萝卜视频| 欧美一区=区三区| 91国偷自产一区二区开放时间 | 欧美群妇大交群中文字幕| 99热在线这里只有精品| 综合久久2o19| 亚洲视频小说图片| 亚洲午夜精品一区二区| 国产高清一级毛片在线不卡| www久久精品| 国产一区二区三区高清| 亚洲AV无码精品色毛片浪潮| 久久国产精品99久久人人澡| 国产精品福利观看| 狠狠人妻久久久久久| 亚洲人成免费| 午夜精品99久久免费| 久久久美女视频| 欧美午夜a级限制福利片| 操日韩av在线电影| 亚洲天堂黄色片| 天天综合精品| 美日韩丰满少妇在线观看| 99精品中文字幕| 天天揉久久久久亚洲精品| 这里精品视频免费| 久久久免费看片| 国产精品久久天天影视| 久久影视电视剧免费网站清宫辞电视 | 奇米777四色影视在线看| 黄色一级大片在线免费看产| 亚洲精品一二三区| 国产一级黄色录像片| 日本在线观看高清完整版| 亚洲一区中文在线| 妞干网在线观看视频| 黄色漫画在线免费看| 欧美午夜激情在线| 亚洲色图38p| 日韩欧乱色一区二区三区在线| 在线电影一区二区三区| 午夜视频在线免费看| 精品国产影院| 亚洲偷欧美偷国内偷| 日本一二三不卡视频| 国产二区精品| 欧美极品欧美精品欧美视频| 日本一级片免费看| 天堂va蜜桃一区二区三区漫画版| 国产精品久久久久久五月尺| 国产成人麻豆精品午夜在线| 菠萝蜜视频在线观看一区| 欧美一区激情视频在线观看| 在线观看国产原创自拍视频| 亚洲黄网站在线观看| 久久黄色片视频| 看片一区二区| 亚洲成人在线视频播放| 国产免费一区二区三区网站免费| 我不卡影院28| 5566日本婷婷色中文字幕97| 在线视频 中文字幕| 国产精品一二一区| 蜜桃视频在线观看91| 日本在线视频站| 亚洲福中文字幕伊人影院| 人妻无码视频一区二区三区| 欧美成年网站| 亚洲欧美综合v| 国产女人18水真多毛片18精品| 亚洲看片免费| 91免费看国产| 蜜桃成人在线视频| 亚洲久草在线视频| 国产精品人人妻人人爽人人牛| 天堂av一区| 亚洲一区二区福利| 国产一级片免费看| 麻豆国产欧美日韩综合精品二区 | 久久久pmvav| 亚洲人成精品久久久久| 国产男女激情视频| 97超碰成人| 日韩视频在线免费| 精品人妻一区二区三区潮喷在线| 成人午夜又粗又硬又大| 日韩视频在线免费播放| 三上悠亚一区二区| 亚洲国产精品99| 中文字幕在线2021| 久久99最新地址| 欧美一区亚洲二区| 少妇视频一区| 亚洲福利在线看| 免费一级黄色大片| 国产最新精品精品你懂的| 欧美污视频久久久| h片视频在线观看| 91精品国产色综合久久久蜜香臀| 欧美性受xxxx黑人| 日韩影院在线观看| 久久影院理伦片| 午夜影院在线播放| 日韩成人在线观看| 久久精品视频久久| 国产成人av电影在线播放| ijzzijzzij亚洲大全| 日韩在线电影| 日韩中文字幕第一页| 一级久久久久久| 国产日产精品一区| 国产精彩免费视频| 亚州综合一区| 茄子视频成人在线| 日韩偷拍自拍| 欧美特黄级在线| 尤物视频最新网址| 秋霞午夜鲁丝一区二区老狼| 无遮挡亚洲一区| 欧美国产日韩电影| 色先锋资源久久综合5566| 在线亚洲欧美日韩| 国产精品国产a级| 一级网站在线观看| 欧美破处大片在线视频| 成人在线观看91| 欧美videosex性欧美黑吊| 欧美va亚洲va香蕉在线 | 色狠狠色狠狠综合| 中文字幕免费高清| 美女在线视频一区| 欧美性视频在线播放| 国产一区二区三区黄网站| 久99九色视频在线观看| 天天操天天干天天插| 一本到高清视频免费精品| 91精品人妻一区二区三区| 秋霞午夜av一区二区三区| 青春草在线视频免费观看| 北条麻妃一区二区三区在线观看 | 99欧美精品| 精品激情国产视频| 丰满人妻妇伦又伦精品国产| 精品久久久久久久久久| 中文字幕在线看高清电影| 美国欧美日韩国产在线播放| www成人免费| 任你弄精品视频免费观看| 国产精品欧美一区二区三区奶水 | 欧美一区二区.| 91短视频版在线观看www免费| 91精品国产欧美一区二区| 久久久久亚洲av成人片| 国产欧美日韩在线| www.午夜av| 免费国产自线拍一欧美视频| 中文字幕一区二区三区在线乱码| 高潮久久久久久久久久久久久久| 91sa在线看| 免费日本一区二区三区视频| 欧美刺激脚交jootjob| 天天做天天爱夜夜爽| 国产精品大尺度| 亚洲国产第一区| 久久精品久久99精品久久| 成人免费毛片在线观看| 色综合久久网| 久久99精品久久久水蜜桃| 亚洲午夜国产成人| 欧洲精品在线视频| 超碰在线caoporn| 亚洲欧美综合图区| 亚洲av无码乱码国产麻豆| 91极品美女在线| 日本少妇裸体做爰| 最新热久久免费视频| 久久久久亚洲av无码专区桃色| 国产一区二区成人久久免费影院| 国产91在线视频观看| 一区二区三区在线电影| 天堂精品一区二区三区| 午夜欧洲一区| 成人一区二区在线| www久久久| 国产成人精品一区二区| 国产传媒在线观看| 欧美成人精品一区二区| 欧美天天影院| 一个人看的www久久| 青青草在线视频免费观看| 日韩欧美国产综合| 国产精品一区二区三区在线免费观看 | 亚洲欧美在线播放| 亚洲精品视频专区| 4438x成人网最大色成网站| 天天操天天干天天摸| 黄色精品一区二区| 青青草在线观看视频| 成人免费一区二区三区在线观看| 国产高潮呻吟久久| 91首页免费视频| 9.1在线观看免费| 国产成人高清视频| 久久精品亚洲天堂| 国产一区二区视频在线播放| 国内国产精品天干天干| 免费观看在线综合| 手机看片福利日韩| 日韩—二三区免费观看av| 精品久久久久久中文字幕2017| 亚洲自拍另类| 欧美 日韩 国产一区| 一本久道综合久久精品| 国产91在线免费| 免费日韩视频| 黄色一级二级三级| 日本人妖一区二区| 中文字幕网av| 精品系列免费在线观看| 在线视频观看一区二区| 国产在线日韩欧美| 男插女视频网站| 国产91精品露脸国语对白| 亚洲熟女一区二区三区| 成人福利视频在线看| 一区二区三区免费在线观看视频| 91网站最新网址| 免费视频91蜜桃| 中文字幕五月欧美| 中文字幕av免费在线观看| 亚洲综合免费观看高清在线观看| 国产在线观看成人| 欧美日韩国产精品专区| 久久久久久久久久久影院| 欧美性做爰猛烈叫床潮| 国产精品久久久久久免费| 日韩欧美精品三级| 午夜影院在线视频| 自拍视频在线网| 亚洲一区二区伦理| 欧美日韩精品在线一区二区| 国产偷自视频区视频一区二区| 成人亚洲视频在线观看| 蜜桃久久久久久久| 永久av免费在线观看| www..com久久爱| 久久精品三级视频| 一区二区成人在线观看| 天天综合网久久综合网| 欧美日韩成人在线一区| 国产成人手机在线| 在线国产精品播放| 色屁屁www国产馆在线观看| 97在线精品视频| 福利一区二区| 91传媒免费看| 自拍亚洲一区| 中文一区一区三区免费| 影院欧美亚洲| jizz欧美性11| 不卡电影一区二区三区| 亚洲女人毛茸茸高潮| 午夜精品久久久久久不卡8050| 性高潮视频在线观看| 精品国产不卡一区二区三区| 888av在线| 97视频免费在线观看| 四虎精品永久免费| 免费观看成人在线| 亚洲精品91| 成人精品视频一区二区| 国产精品亚洲一区二区三区妖精 | 在线精品自拍| 亚洲国产欧美日韩| 国产一区成人| 色哟哟网站在线观看| 国产精品免费aⅴ片在线观看| 日本最新中文字幕| 91麻豆精品国产91久久久久 | 97久久综合区小说区图片区| 午夜精品短视频| 国产日韩欧美| 岛国精品一区二区三区| 亚洲欧洲日韩综合一区二区| www.国产毛片| 国产视频精品va久久久久久| 操你啦视频在线| 国产精品自拍偷拍视频| 午夜精品福利影院| 青青草国产精品视频| 国产一区二区三区黄视频| 三年中国中文观看免费播放| 欧美日韩中文字幕| 六月婷婷中文字幕| 欧美精品在线极品| 婷婷精品久久久久久久久久不卡| 欧美1o一11sex性hdhd| 99国产精品99久久久久久粉嫩| 国产吃瓜黑料一区二区| ㊣最新国产の精品bt伙计久久| 中日韩在线观看视频| 国产亚洲人成网站在线观看| 巨茎人妖videos另类| 久热国产精品视频一区二区三区| 99热这里只有成人精品国产| 视频免费在线观看| 亚洲亚洲精品在线观看| 欧美一级在线免费观看| 欧美激情综合亚洲一二区| 成人动态视频| 国产3p露脸普通话对白| 波多野结衣中文字幕一区 | 97久久夜色精品国产| 亚洲综合色在线观看| 国产精品乱人伦中文| 中文字幕一区二区三区免费看| 一区二区在线视频播放| 国产一区二区三区朝在线观看| 日韩欧美一区二区三区四区| 欧美中文日韩| 欧美亚洲色综久久精品国产| 欧美日韩国产另类不卡| 黄色网页网址在线免费| av资源站久久亚洲| 亚洲麻豆视频| 日本二区在线观看| 欧美图片一区二区三区| 好操啊在线观看免费视频| 高清av免费一区中文字幕| 日韩天堂av| 国产色视频一区二区三区qq号| 日本韩国精品一区二区在线观看| chinese偷拍一区二区三区| 国产激情久久久| 亚洲欧洲日韩| 亚洲色图欧美日韩| 色综合网站在线| 毛片在线视频| 成人影片在线播放| 老鸭窝91久久精品色噜噜导演| 公肉吊粗大爽色翁浪妇视频| 7777精品伊人久久久大香线蕉经典版下载 | 国产亚洲精品精品国产亚洲综合| 中文字幕免费高| av电影一区二区| 999视频在线| 免费成人高清视频| 丝袜久久网站| 特级西西444www| 精品日韩美女的视频高清| 日本精品在线| 国产一区二区高清不卡| 美女视频免费一区| 日本三级中文字幕| 色哟哟入口国产精品| 精品久久对白| caoporm在线视频| 欧美日韩亚洲高清| 欧美jizz18hd性欧美| 国产视频在线观看一区| 麻豆91在线播放免费| 国产一级特黄aaa大片| 在线观看精品自拍私拍| 九九热hot精品视频在线播放 | 成人国产精品久久| 男人日女人下面视频| 亚洲欧美日韩小说| 免费在线国产| 国产v亚洲v天堂无码|