您好,登錄后才能下訂單哦!
小編給大家分享一下java之jvm兩種存儲區(qū)的類型分別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向?qū)ο螅?. 分布性,Java是面向網(wǎng)絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內(nèi)存管理,防止程序員在管理內(nèi)存時容易產(chǎn)生的錯誤。;5. 安全性,用于網(wǎng)絡、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結(jié)構(gòu)中立,只要安裝了Java運行時系統(tǒng),就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網(wǎng)絡上的不同機器。8.解釋執(zhí)行,Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。
1、分類
JVM有兩種類型的存儲區(qū):常量緩沖池和方法區(qū)。常量緩沖池用于存儲類名、方法名和字段名以及字符串常量。方法區(qū)用于存儲Java方法的字節(jié)碼。JVM規(guī)范中沒有規(guī)定這兩個存儲區(qū)域的具體實現(xiàn)。因此,Java應用程序的存儲布局必須在運行過程中確定,這取決于具體平臺的實現(xiàn)。
JVM是對Java字節(jié)代碼定義的獨立平臺的規(guī)格說明,是Java平臺獨立性的基礎。目前JVM還存在一些限制和不足,需要進一步完善,但無論如何,JVM的思想都是成功的。
2、比較分析
將Java源程序想象為我們的C++源程序,Java源程序編譯后生成的字節(jié)代碼相當于C++源程序編譯后的80x86機器代碼(二進制程序文件),JVM虛擬機相當于80x86計算機系統(tǒng)在80x86CPU運行的是機器代碼,在Java解釋器運行的是Java字節(jié)代碼。
Java解釋器相當于運行Java字節(jié)碼的CPU,但這種CPU不是通過硬件實現(xiàn)的,而是通過軟件實現(xiàn)的。Java解釋器實際上是特定平臺下的應用程序。只要實現(xiàn)了特定平臺下的解釋器程序,Java字節(jié)碼就可以通過解釋器程序在該平臺下運行,這是Java跨平臺的根本。目前,并非所有平臺下都有相應的Java解釋器程序,這也是Java不能在所有平臺下運行的原因,只能在實現(xiàn)Java解釋器程序的平臺下運行。
以上是“java之jvm兩種存儲區(qū)的類型分別是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。