国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java虛擬機規范(介紹)

chnmagnus / 438人閱讀

摘要:此處指定的虛擬機與平臺兼容,并支持語言規范中指定的編程語言。第章說明了虛擬機的指令集,按字母順序顯示操作碼助記符。

介紹 一點歷史

Java?編程語言是一種通用的、并發的、面向對象的語言,它的語法類似于C和C++,但它省略了許多使C和C++復雜、混亂和不安全的特性。最初開發Java平臺是為了解決為聯網的消費者設備構建軟件的問題,它旨在支持多種主機架構,并允許安全交付軟件組件,為了滿足這些要求,編譯后的代碼必須能夠在網絡上傳輸,在任何客戶端上運行,并向客戶端保證運行安全。

萬維網的普及使這些屬性更加有趣,Web瀏覽器使數百萬人能夠以簡單的方式上網并訪問富媒體內容,最后有一種介質,無論你使用的是什么機器,還是連接到快速網絡或慢速調制解調器,你所看到和聽到的內容基本相同。

網絡愛好者很快發現網絡HTML文檔格式支持的內容太有限了,HTML擴展(例如表單)只突出了這些限制,同時明確表示沒有瀏覽器可以包含用戶想要的所有功能,可擴展性就是答案。

HotJava瀏覽器首先展示了Java編程語言和平臺的有趣屬性,使在HTML頁面中嵌入程序成為可能,程序與它們出現的HTML頁面一起透明地下載到瀏覽器中,在被瀏覽器接受之前,會仔細檢查程序以確保它們是安全的。與HTML頁面一樣,編譯的程序與網絡和主機無關,程序的行為方式相同,無論它們來自何處,或者它們被裝入和運行的機器類型。

包含Java平臺的Web瀏覽器不再局限于預定的一組功能,包含動態內容的網頁的訪問者可以確保他們的機器不會被該內容損壞,程序員可以編寫程序一次,它將在任何提供Java運行時環境的機器上運行。

Java虛擬機

Java虛擬機是Java平臺的基石,它是該技術的組成部分,負責其硬件和操作系統的獨立性,其編譯的代碼很小以及保護用戶免受惡意程序攻擊的能力。

Java虛擬機是一種抽象計算機,像真正的計算機一樣,它有一個指令集并在運行時操作各種內存區域,使用虛擬機實現編程語言是相當普遍的,最著名的虛擬機可能是UCSD Pascal的P-Code機器。

在Sun Microsystems,Inc.完成的Java虛擬機的第一個原型實現模擬了由類似于當代個人數字助理(PDA)的手持設備托管的軟件中的Java虛擬機指令集。Oracle當前的實現模擬在移動、桌面和服務器設備上的Java虛擬機,但Java虛擬機不承擔任何特定的實現技術、主機硬件或主機操作系統,它本身并沒有被解釋,但也可以通過將其指令集編譯為硅CPU來實現,它也可以用微代碼實現或直接用硅實現。

Java虛擬機不知道Java編程語言,只知道特定的二進制格式,即class文件格式,class文件包含Java虛擬機指令(或字節碼)和符號表,以及其他輔助信息。

出于安全考慮,Java虛擬機對class文件中的代碼施加了強大的語法和結構約束,但是,任何具有可以用有效class文件表示的功能的語言都可以由Java虛擬機托管,由通用的、與機器無關的平臺吸引,其他語言的實現者可以將Java虛擬機作為其語言的交付工具。

此處指定的Java虛擬機與Java SE 11平臺兼容,并支持Java語言規范Java SE 11 Edition中指定的Java編程語言。

規范的組織

第2章概述了Java虛擬機架構。

第3章介紹用Java編程語言編寫的代碼編譯成Java虛擬機指令集。

第4章說明了class文件格式,這是一種獨立于硬件和操作系統的二進制格式,用于表示已編譯的類和接口。

第5章說明了Java虛擬機的啟動以及類和接口的加載、鏈接和初始化。

第6章說明了Java虛擬機的指令集,按字母順序顯示操作碼助記符。

第7章給出了一個由操作碼值索引的Java虛擬機操作碼助記符表。

在Java?虛擬機規范的第二版中,第2章概述了Java編程語言,該語言旨在支持Java虛擬機的規范,但它本身并不是規范的一部分。在Java虛擬機規范Java SE 11 Edition中,有關Java編程語言的信息,請參閱Java語言規范Java SE 11 Edition。

在Java?虛擬機規范的第二版中,第8章詳細介紹了解釋Java虛擬機線程與共享主內存交互的低級別操作,在Java虛擬機規范Java SE 11 Edition中,讀者可以參考Java語言規范的第17章,Java SE 11 Edition,了解有關線程和鎖的信息,第17章反映了JSR 133專家組制作的Java內存模型和線程規范。

符號

在整個規范中,引用了從Java SE Platform API中提取的類和接口,每當使用單個標識符N引用類或接口(除了在示例中聲明的那些之外),預期的引用是包java.lang中名為N的類或接口,使用java.lang以外的包中的類或接口的完全限定名。

每當引用在包java或其任何子包中聲明的類或接口時,預期的引用都是由引導類加載器加載的類或接口。

每當引用名為java的包的子包時,預期的引用就是由引導類加載器確定的子包。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73501.html

相關文章

  • 對于JVM,你就只知道堆和棧嗎?

    摘要:下面的截圖內容來自從規范我們可以看到,規范要求的運行時數據區域有程序計數器虛擬機棧堆方法區本地方法棧運行時常量池這及部分。查了一下,還是沒有查到官方對于運行時數據區域的說明,但是許多博客都指出將字符串常量池移動到了堆中。 不少java程序員一提JVM運行時數據區域,就會說堆和棧,當然也有java程序員給出方法區、虛擬機棧、本地方法棧、堆、程序計數器這個答案,但是還有人給出永久代、虛擬機...

    王笑朝 評論0 收藏0
  • Java虛擬規范(目錄)

    摘要:虛擬機規范介紹虛擬機介紹虛擬機的結構文件格式數據類型原始類型和值引用類型和值運行時數據區幀對象的表示浮點算術特殊方法異常指令集匯總類庫公有設計,私有實現編譯虛擬機格式示例使用常量局部變量和控制結構算術訪問運行時常量池更多控制示例接收參數調用 Java虛擬機規范 Java SE 12 Edition 介紹 Java虛擬機介紹 Java虛擬機的結構 class文件格式 數據類型 原始類型...

    oysun 評論0 收藏0
  • 萬萬沒想到,JVM內存結構的面試題可以問的這么難?

    摘要:方法區在實際內存空間站可以是不連續的。這一規定,可以說是給了虛擬機廠商很大的自由。但是值得注意的是,堆其實還未每一個線程單獨分配了一塊空間,這部分空間在分配時是線程獨享的,在使用時是線程共享的。 在我的博客中,之前有很多文章介紹過JVM內存結構,相信很多看多我文章的朋友對這部分知識都有一定的了解了。 那么,請大家嘗試著回答一下以下問題: 1、JVM管理的內存結構是怎樣的? 2、不同的...

    CloudwiseAPM 評論0 收藏0
  • 【JVM從小白學成大佬】2.Java虛擬運行時數據區

    摘要:虛擬機在執行程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。棧幀棧幀是用于支持虛擬機進行方法調用和方法執行的數據結構,它是虛擬機運行時數據區中的虛擬機棧的棧元素。棧幀的概念結構如下運行時數據區腦圖高 這里我們先說句題外話,相信大家在面試中經常被問到介紹Java內存模型,我在面試別人時也會經常問這個問題。但是,往往都會令我比較尷尬,我還話音未落,面試者就會背誦一段(Java虛擬...

    shuibo 評論0 收藏0
  • Java虛擬規范Java虛擬的結構)

    摘要:原始類型和值虛擬機支持的原始數據類型是數字類型布爾類型和類型。,其值為位帶符號的二進制補碼整數,其默認值為零。 Java虛擬機的結構 本文檔指定了一個抽象機器,它沒有描述Java虛擬機的任何特定實現。 要正確實現Java虛擬機,你只需要能夠讀取類文件格式并正確執行其中指定的操作,不屬于Java虛擬機規范的實現細節會不必要地限制實現者的創造力。例如,運行時數據區的內存布局、使用的垃圾收集...

    bang590 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<