溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JVM平臺開發(fā)語言有什么用

發(fā)布時間:2021-11-30 15:16:01 來源:億速云 閱讀:151 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)JVM平臺開發(fā)語言有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

關(guān)于JVM平臺開發(fā)語言一直是Java開發(fā)者茶余飯后的一個熱門話題,JVM作為一種機制用以提供Java應(yīng)用在不同的環(huán)境,其他平臺以及不同硬件上的可移植性,而基于JVM平臺的編程語言也是不斷的在增加。從動態(tài)語言如Groovy、JRuby, Jython到靜態(tài)型Scala語言, JVM也正成為一個多元化的平臺,開發(fā)人員可以充分利用不同語言來滿足各自不同的需求。

從本月的編程語言排行榜上我們可以看出,本次***的5種編程語言中3種就屬基于JVM平臺開發(fā)的編程語言。這也意味著開發(fā)者對JVM平臺開發(fā)語言的關(guān)注、使用也不斷的增加。為什么JVM的編程語言會如此受到開發(fā)者的青瞇?下面我們從JVM平臺的3點特性進行分析。

動態(tài)語言支持

從SE 6開始就是對動態(tài)語言的支持,動態(tài)語言逐漸成為許多Java開發(fā)者應(yīng)用開發(fā)日常工作的一部分,并常常用于原型開發(fā)或用來提高開發(fā)速度。為了快速得到更大規(guī)模的Java應(yīng)用程序,人們一直在使用動態(tài)語言膠合程序部件。

事實上,任何可以使用有效class 文件表述的功能性語言,都可以運行在JVM上。動態(tài)語言的靈活性,尤其是腳本語言,對于實驗性、原型應(yīng)用程序以及需頻繁更新的程序,都具有獨特的吸引力。

Java開發(fā)人員也可以使用動態(tài)語言進行部分編程,然后將這部分代碼轉(zhuǎn)換成Java,或繼續(xù)用Java來開發(fā)程序中更為健壯、生命力更強的部分,其他代碼則可以通過更加動態(tài)的語言來進行開發(fā)。動態(tài)類型固有的靈活性與JVM的執(zhí)行效率,合二為一。很明顯,這就是它能夠吸引動態(tài)編程語言創(chuàng)建者以及使用這些語言構(gòu)建應(yīng)用程序的開發(fā)者的原因。

跨平臺性

如果單單說JVM支持動態(tài)語言編程就能夠吸引更多的開發(fā)者那是不可能的,曾有這么一句話“一次編程,到處運行”,這句話說的就是JVM的跨平臺性。指即不依賴于操作系統(tǒng),也不信賴硬件環(huán)境。

那么JVM是如何跨平臺的呢?下面提供張JVM的結(jié)構(gòu)圖

JVM平臺開發(fā)語言有什么用

JVM跨平臺的四種執(zhí)行引擎部分說明:

1、解釋器

簡單,一次性解釋字節(jié)碼。易于實現(xiàn)但是執(zhí)行緩慢。

2、即時編譯器

將***次執(zhí)行的字節(jié)碼編譯為本地機器代碼。編譯出的本地機器代碼會被緩存,第二次調(diào)用的時候可以重用。執(zhí)行速度快,但是消耗更多內(nèi)存(與解釋器相比)。

3、自適應(yīng)優(yōu)化器

虛擬機開始的時候是解釋字節(jié)碼,但是他會監(jiān)視運行中的程序,并記錄下使用最頻繁的代碼段。程序運行的時候,將最頻繁的代碼編譯成本地代碼,其他使用不頻繁的代碼,繼續(xù)保持為字節(jié)碼。

4、硬件芯片:

用本地方法執(zhí)行字節(jié)碼。java通過編譯器后生成class文件,為字節(jié)碼,通過虛擬機編譯后形成機器碼,電腦上只能運行機器碼。字節(jié)碼是可以運行在任何支持java虛擬機的硬件平臺和操作系統(tǒng)上的二進制文件。
(摘自:bobiy45785的博客)

混合編程

JVM平臺能夠受到開發(fā)者的青瞇還有一點就是能夠進行多語言混合編程,也就是說在JVM平臺上不僅Java一種編程語言可以使用。事出于單一的Java開發(fā)已經(jīng)無法滿足當前軟件復(fù)雜的需求。而混合編程也受到了開發(fā)者的熱捧,至今已成為主流。

JVM不斷的向多語言方向發(fā)展,每種語言都可以針對自己擅長的方面更好的解決問題;日趨復(fù)雜的軟件需求也使得混合編程的應(yīng)用場景更加的頻

感謝各位的閱讀!關(guān)于“JVM平臺開發(fā)語言有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jvm
AI