自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JVM平臺開發(fā)語言 一直在流行

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

關(guān)于JVM平臺開發(fā)語言一直是Java開發(fā)者茶余飯后的一個熱門話題,JVM作為一種機(jī)制用以提供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點特性進(jìn)行分析。

動態(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)語言進(jìn)行部分編程,然后將這部分代碼轉(zhuǎn)換成Java,或繼續(xù)用Java來開發(fā)程序中更為健壯、生命力更強(qiáng)的部分,其他代碼則可以通過更加動態(tài)的語言來進(jìn)行開發(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跨平臺的四種執(zhí)行引擎部分說明:

1、解釋器

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

2、即時編譯器

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

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

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

4、硬件芯片:

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

混合編程

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

JVM不斷的向多語言方向發(fā)展,每種語言都可以針對自己擅長的方面更好的解決問題;日趨復(fù)雜的軟件需求也使得混合編程的應(yīng)用場景更加的頻繁。在不遠(yuǎn)的未來我們將會看到,我們的項目中,并行進(jìn)程用Clojure編寫,展示層使用Jruby/Rails,中間層用的是Java編寫。

總  結(jié)

多年來,在JVM上運行的語言越來越多。而動態(tài)語言、跨平臺性、混合編程的特性對開發(fā)者是非常具有吸引力的。隨著JVM平臺開發(fā)的流行,Java開發(fā)者也跟著發(fā)生了一些改變,因為他們不僅僅只限于Java一種編程語言。因此,51CTO還針對JVM平臺的9種編程語言出了個專題,開發(fā)者可以進(jìn)入詳細(xì)了解有關(guān)JVM平臺的編程語言。

【編輯推薦】

  1. 程序員需要謹(jǐn)記的九大安全編碼規(guī)則
  2. 從程序員到第四次創(chuàng)業(yè)的生活
  3. 每個程序員都應(yīng)該知道的福利
責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2012-05-22 17:07:38

開發(fā)技術(shù)周刊

2011-03-25 15:35:55

ARM微軟處理器架構(gòu)

2021-03-05 08:00:00

Web開發(fā)工具

2017-07-06 11:08:12

開源云計算EasyStack

2023-09-13 11:19:49

2023-09-13 17:08:31

2016-07-20 17:19:21

SDN軟件定義網(wǎng)絡(luò)SDN商用

2021-11-29 18:34:14

內(nèi)存異步死循環(huán)

2018-03-21 18:00:15

NestJS

2022-09-26 08:30:41

黑客網(wǎng)絡(luò)攻擊隱私

2023-08-20 16:49:04

UbuntuLinux

2021-09-14 11:04:55

谷歌AIDeepMind

2009-05-21 09:28:05

阿里巴巴馬云忽悠

2011-06-21 17:24:10

2024-09-29 09:11:15

2024-10-05 11:47:57

2021-09-27 09:57:04

IBM工程師RustGRUB

2009-05-22 15:27:23

JVM腳本語言Java

2024-06-17 08:43:53

點贊
收藏

51CTO技術(shù)棧公眾號