久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)JAVA語言開發(fā) → Java虛擬機(jī)的動(dòng)態(tài)語言支持


  共有7040人關(guān)注過本帖樹形打印

主題:Java虛擬機(jī)的動(dòng)態(tài)語言支持

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
Java虛擬機(jī)的動(dòng)態(tài)語言支持  發(fā)帖心情 Post By:2010-12-11 9:39:25

Java SE 6已不再局限于Java語言了,因?yàn)镾E 6還可以用來執(zhí)行動(dòng)態(tài)腳本語言代碼。據(jù)Sun公司Java SE平臺(tái)項(xiàng)目的負(fù)責(zé)人丹尼·考沃德(Danny Coward)稱,Java虛擬機(jī)要成為所有動(dòng)態(tài)語言的最佳執(zhí)行平臺(tái),而提供腳本語言支持只是實(shí)現(xiàn)這一計(jì)劃的第一步。2006年12月11日,Artima記者弗蘭克·索莫斯(Frank Sommers)就JSR 292——支持Java 平臺(tái)上的動(dòng)態(tài)語言特約采訪了考沃德。

Java SE 6可以加入對(duì)Java平臺(tái)腳本JSR 223的實(shí)現(xiàn),從而可以被用來執(zhí)行以Ruby、Python、Groovy或者JavaScript等動(dòng)態(tài)語言編寫的腳本語言代碼。但是,丹尼·考沃德認(rèn)為, Java虛擬機(jī)是專門為靜態(tài)語言而設(shè)計(jì)的,要在這樣一個(gè)平臺(tái)上實(shí)現(xiàn)動(dòng)態(tài)語言解釋器絕非易事。考沃德是Sun公司Java SE平臺(tái)項(xiàng)目的負(fù)責(zé)人、JSR 292規(guī)范的主要制訂者。

在Sun即將發(fā)布Java SE 6之前,Artima記者和考沃德進(jìn)行了一次訪談,其中談到了Java虛擬機(jī)動(dòng)態(tài)語言支持的未來、invokedynamic——一個(gè)專用來設(shè)計(jì)對(duì)動(dòng)態(tài)語言對(duì)象的支持的新JVM 指令、運(yùn)行時(shí)改變或添加類方法的hot-swapping,以及將Java虛擬機(jī)變?yōu)閯?dòng)態(tài)語言實(shí)現(xiàn)理想平臺(tái)的目標(biāo)。

弗蘭克·索莫斯 : Java SE 6最大的特征之一就是對(duì)動(dòng)態(tài)語言的支持。您能向我們描述一下在現(xiàn)有的Java SE版本中,這一目標(biāo)將得到怎樣的實(shí)現(xiàn)?今后還會(huì)增加哪些對(duì)動(dòng)態(tài)語言的支持?

丹尼·考沃德: 在過去的幾年里,我們已經(jīng)注意到了一種現(xiàn)象。和.NET開發(fā)者社區(qū)不同,Java開發(fā)者社區(qū)早已經(jīng)開始體驗(yàn)動(dòng)態(tài)語言了。動(dòng)態(tài)語言逐漸成為許多開發(fā)者Java應(yīng)用開發(fā)日常工作的一部分,并常常用于原型開發(fā)(prototyping)或用來提高開發(fā)速度。為了快速得到更大規(guī)模的(Java)應(yīng)用程序,人們一直在使用動(dòng)態(tài)語言膠合程序部件。

今天,Java平臺(tái)的腳本JSR 223將與Java SE 6一起發(fā)布。在聚集動(dòng)態(tài)語言愛好者這一方面,JSR 223邁出了它的第一步。首先,它為開發(fā)者提供了允許將其它語言的代碼與Java代碼混合起來的API。其次,JSR 223還是一個(gè)框架,它允許開發(fā)者插入用來解釋動(dòng)態(tài)語言的腳本引擎。在Java SE 6中,我們?cè)黾恿薘hino JavaScript引擎,這樣非傳統(tǒng)的開發(fā)人員也可以使用JavaScript。

開發(fā)者也可以使用腳本引擎的框架來插入自己的解釋器引擎。我們已經(jīng)從scripting.dev.java.net 上的java.net腳本項(xiàng)目中收集了二十多種動(dòng)態(tài)語言引擎。這是Java對(duì)腳本語言支持的第一階段,今天我們已經(jīng)實(shí)現(xiàn)交付了。

JSR 292——支持Java 平臺(tái)上的動(dòng)態(tài)語言是對(duì)JSR 223的合理跟進(jìn)。Java是一門靜態(tài)類型的語言。Java中的字節(jié)碼需要知道返回類型是什么以及方法調(diào)用的參數(shù)類型是什么。

開發(fā)者在為動(dòng)態(tài)類型語言寫解釋器引擎時(shí),不得不硬造出很多Java類型,以便滿足Java字節(jié)碼方法調(diào)用的需求。這使得這些解釋器很脆弱:代碼一旦被人改變,要加入并重新設(shè)計(jì)所有這些硬造出來的類型將很難。而且,它還會(huì)降低執(zhí)行的速度。有趣的是,Java虛擬機(jī)并不需要靜態(tài)地確定那些類型是什么,只有字節(jié)碼才要求這樣。

在JSR 292中,我們將提供一個(gè)新的字節(jié)碼——invokedynamic。這為Java虛擬機(jī)提供了一個(gè)方法調(diào)用的指令,而無需知道字節(jié)碼的返回值和方法參數(shù)。這是一個(gè)很技術(shù)、很官方的解釋,但是它能夠加速Java虛擬機(jī)上的解釋器實(shí)現(xiàn),并使它們變得更加健壯。

弗蘭克·索莫斯:您剛才提到invokedynamic將加快動(dòng)態(tài)語言解釋器的執(zhí)行速度。您能舉個(gè)例子嗎?

丹尼·考沃德:假如你現(xiàn)在要獲取一個(gè)確定大小的集合(collection),方法的返回類型是Collection。例如,在JRuby中,那種方法可能不需要一個(gè)特定的類型返回值就可以得到實(shí)現(xiàn)。開發(fā)人員可以這樣理解,將要返回的是一個(gè)集合,但是并沒有一個(gè)特定的返回(值),因?yàn)椋≧uby)不是一個(gè)靜態(tài)類型的語言。

動(dòng)態(tài)語言引擎的創(chuàng)造者們?cè)趯uby代碼轉(zhuǎn)化為Java字節(jié)碼。如果今天的JRuby引擎要將那種方法調(diào)用轉(zhuǎn)化成字節(jié)碼,將不得不創(chuàng)建一個(gè)合成接口來表現(xiàn)返回類型。這個(gè)接口不是由開發(fā)人員創(chuàng)建的,而完全是由JRuby引擎創(chuàng)建的,這樣JRuby引擎就可以實(shí)現(xiàn)那個(gè)方法調(diào)用并將它返回成字節(jié)碼。這只是返回類型,方法參數(shù)和異常的情況是一樣的。

JSR 292則不需要合成接口所需的條件。今天,即便在解釋一段Ruby代碼時(shí),動(dòng)態(tài)語言解釋器的重要性也超出了methodinvoke字節(jié)碼。有了JSR292,他們或許很快就可以使用invokedynamic版本。這將使得引擎實(shí)現(xiàn)過程流線化,因?yàn)榻裉斓暮芏嘁娑荚跒橛苍煨碌念愋秃痛罅康牟居浌ぷ鞫l(fā)愁——如果一個(gè)方法在七八個(gè)不同的地方被調(diào)用,那么在所有的地方將不得不重用那一個(gè)硬造的類型。

有趣的是,這不是語言的特征,而是字節(jié)碼的特性。Java開發(fā)者決不會(huì)有意識(shí)地去使用JSR 292的一個(gè)新特性,因?yàn)镴SR 292不是一件公開進(jìn)行的事情。對(duì)于新增的字節(jié)碼,最令人興奮的地方在于它是第一個(gè)不用于Java語言的字節(jié)碼。我們打算只將這一字節(jié)碼加入Ruby、Groovy、BeanShell以及Python等語言中。我們非常希望這些語言能夠在Java虛擬機(jī)上得到更快的運(yùn)行。

弗蘭克·索莫斯:那么新增的字節(jié)碼能夠在當(dāng)前版本的Java虛擬機(jī)上工作嗎?

丹尼·考沃德:JSR 292的另一方面是調(diào)查hot swapping。在很多動(dòng)態(tài)語言中,方法可以在運(yùn)行時(shí)被改變,甚至被添加到一個(gè)類。這也是Smalltalk編程最基本的需要。這一想法就是能夠在運(yùn)行時(shí)調(diào)整類。

JSR 292是在今年早些時(shí)候開始的,我們還不確定它的工作效果如何。不過,這是專家們需要去考慮的問題,這還可能有利于動(dòng)態(tài)解釋器的性能改進(jìn)。這一特性可能需要對(duì)Java虛擬機(jī)做一些調(diào)整,Java虛擬機(jī)也將因此需要做一些變化。專家們還需要注意安全的問題。當(dāng)然,我們不會(huì)在平臺(tái)上開放所有的安全漏洞。

弗蘭克·索莫斯:您剛才說到了動(dòng)態(tài)語言的很多優(yōu)點(diǎn),那么Java以后會(huì)不會(huì)變成一種更加動(dòng)態(tài)的語言呢?

丹尼·考沃德:將Java變成一門動(dòng)態(tài)語言,這將是一件很有意思的事情。不過,Java作為一門靜態(tài)語言,它擁有很多優(yōu)勢,如程序的健壯性、可維護(hù)性、以及便于向他人發(fā)布API的特性。這些優(yōu)勢都是靜態(tài)語言所提供的,我們不想去改變這些。相反,如果能夠讓其他的語言在Java虛擬機(jī)上得到更好的運(yùn)行,那么我們就更沒有必要去改變Java語言了。

我們依然認(rèn)為,Java語言是用來開發(fā)生命力強(qiáng)、可維護(hù)且可分享的應(yīng)用代碼的最佳語言。企業(yè)開發(fā)的應(yīng)用軟件需要維持很長一段時(shí)間,且部分代碼需要在不同的開發(fā)團(tuán)隊(duì)之間甚至在整個(gè)社區(qū)中分享。對(duì)于這些應(yīng)用軟件,Java自身的特性如靜態(tài)類型特征、我們正在研究的模塊性以及包裝結(jié)構(gòu)等,都成就了Java語言創(chuàng)造出具有頑強(qiáng)生命力的健壯程序。

我們看到,動(dòng)態(tài)語言的使用在設(shè)計(jì)重心上有些不同,至少程序的部分代碼運(yùn)行得很快。在這些情況下,能否與其他人共享代碼或能否在時(shí)隔六個(gè)月之后依然讀懂一段代碼就不再那么重要了。相反,能否快速地生成代碼并迅速寫成一個(gè)demo或通過Web再現(xiàn)則變得更加重要了。

我們?cè)试SJava開發(fā)人員使用動(dòng)態(tài)語言進(jìn)行部分編程,然后將這部分代碼轉(zhuǎn)換成Java,或繼續(xù)用Java來開發(fā)程序中更為健壯、生命力更強(qiáng)的部分,其他代碼則可以通過更加動(dòng)態(tài)的語言來進(jìn)行開發(fā)。這也是JSR 223的重要性所在。在當(dāng)今社區(qū)中,開發(fā)者都有不同的語言偏向和愛好。既然如此,他們?yōu)槭裁床豢梢酝瑫r(shí)使用Java和Ruby兩種語言呢?

而且,Java發(fā)展已過10年,我們對(duì)Java所做的變化非常少。我們很清楚,為Java語言增加一些新特性以滿足開發(fā)者社區(qū)可能出現(xiàn)的每一個(gè)需求,這是我們很有可能辦到的事情。但是,如果我們那樣做的話,我們只會(huì)使Java變成一門非常復(fù)雜的語言,重蹈C++的覆轍。我覺得C++更加注重的是語言的特性而不是簡潔性。

弗蘭克·索莫斯:您說到要使Java虛擬機(jī)成為動(dòng)態(tài)語言implementor的理想執(zhí)行環(huán)境,對(duì)此您有多大把握?您是否認(rèn)為Java虛擬機(jī)有什么限制因素會(huì)阻礙這一任務(wù)的實(shí)現(xiàn)?

丹尼·考沃德:現(xiàn)在主要的問題是字節(jié)碼,因?yàn)槟悴坏貌挥苍斐龊芏囝愋汀_@也是JSR 292顯得重要的原因。

當(dāng)然,從理論上來說,Java虛擬機(jī)能成為任何語言解釋器的宿主。很多事情都可能發(fā)生,理論是好的,但是實(shí)踐更好。關(guān)鍵在于讓動(dòng)態(tài)語言能夠在Java虛擬機(jī)上真正實(shí)現(xiàn)飛快的運(yùn)行。這也是我們正在努力做的事情。

現(xiàn)在,我們不妨換個(gè)角度來看你的問題,比如說如果你是一個(gè)動(dòng)態(tài)語言設(shè)計(jì)師或implementor,你為什么不愿意把Java虛擬機(jī)作為您的主要執(zhí)行平臺(tái)?我們已經(jīng)在這樣一個(gè)跨平臺(tái)、可擴(kuò)展的運(yùn)行時(shí)環(huán)境上傾注了11年的時(shí)間和精力。現(xiàn)在,我們的平臺(tái)在行業(yè)內(nèi)得到了廣泛的應(yīng)用。如果你要?jiǎng)?chuàng)造一門新的動(dòng)態(tài)腳本語言,為什么不選用這樣一個(gè)理想的實(shí)現(xiàn)平臺(tái)呢?難道還有什么比它更好的運(yùn)行時(shí)環(huán)境嗎?

我想將來一定會(huì)出現(xiàn)一門真正流行的新語言。Java社區(qū)尤其是Sun公司很希望看到其他新語言都能夠享受到Java虛擬機(jī)所帶來的好處,不管它是什么語言,我們都很樂意這樣做。


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

Java虛擬機(jī)的動(dòng)態(tài)語言支持








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国内不卡一区二区三区| 日韩一区二区免费视频| 国产白丝网站精品污在线入口| 日韩精品每日更新| 日韩福利电影在线| 亚洲午夜精品国产| 一本久道久久综合中文字幕| 亚洲一卡二卡| 色丁香久综合在线久综合在线观看| 中文字幕在线中文字幕日亚韩一区 | 555夜色666亚洲国产免| 欧美日韩日日夜夜| 欧美一区二区三区四区五区| 亚洲精品在线三区| 国产欧美日韩卡一| 日韩伦理免费电影| 日韩成人精品在线| 国产成人精品免费一区二区| 91美女片黄在线观看91美女| 欧美二级三级| 欧美性一区二区| 26uuu亚洲| 亚洲精品美腿丝袜| 极品少妇xxxx精品少妇偷拍| 成人教育av在线| 久久福利电影| 欧美性三三影院| 日韩精品一区二区三区swag | 日韩欧美一二三| 国产精品久久久久久久久晋中 | 蜜臀av亚洲一区中文字幕| 国产成人免费视频精品含羞草妖精| 91精品入口蜜桃| 视频一区二区在线观看| 91精品国产综合久久蜜臀| 国产欧美一区二区精品忘忧草| 亚洲国产综合91精品麻豆| 国产高清精品在线| 精品国产一区二区三区久久久久久| 色诱视频网站一区| 国产网站一区二区| 午夜精品久久久久影视| 9人人澡人人爽人人精品| 日韩一区二区电影在线观看| 日韩限制级电影在线观看| 亚洲精品免费电影| 成人精品一区二区三区四区| 天堂va久久久噜噜噜久久va| 97视频资源在线观看| 欧美激情一区二区三区在线视频| 精品视频一区二区不卡| 国产精品二区一区二区aⅴ污介绍| 日产欧产美韩系列久久99| 91在线看网站| 欧美日韩精品一区二区三区蜜桃| 中文字幕在线不卡国产视频| 国内精品视频666| 青娱乐国产91| 久久精品日韩一区二区三区| 蜜臀精品久久久久久蜜臀 | 欧美大片在线观看| 婷婷成人激情在线网| 国产激情一区二区三区在线观看 | 久久大香伊蕉在人线观看热2| 欧美精品在线一区二区三区| 一区二区三区不卡在线观看| 99久久久久久99| 欧美婷婷六月丁香综合色| 一区二区三区在线视频免费观看| av在线播放一区二区三区| 欧美网站大全在线观看| 亚洲一区二区三区在线播放| 国产三级精品在线不卡| 日韩精品一区二区三区在线 | 亚洲二区在线观看| 114国产精品久久免费观看| 欧美调教femdomvk| 亚洲第一成年网| 欧美国产一区二区在线| 欧美激情自拍偷拍| 不卡一区二区三区四区| 欧美精品第一页| 欧美aaaaaa午夜精品| 亚洲自拍三区| 性欧美疯狂xxxxbbbb| 欧洲久久久久久| 成人欧美一区二区三区视频网页 | 中文字幕不卡的av| 97超碰欧美中文字幕| 日韩美一区二区三区| 国产久卡久卡久卡久卡视频精品| 在线观看日韩高清av| 欧美日韩国产色站一区二区三区| 亚洲成人自拍网| 免费一区二区三区| 最新高清无码专区| 精品日本一区二区三区| 亚洲欧洲www| 久久久久免费网| 亚洲欧美日韩精品久久久久| 精品在线一区| 亚洲精品久久久蜜桃| 蜜桃麻豆www久久国产精品| 中文字幕在线不卡一区二区三区| www日韩av| 国产精品每日更新| 韩国成人av| 亚洲人吸女人奶水| 日韩av电影免费在线观看| 亚洲国产va精品久久久不卡综合| 亚洲国产激情一区二区三区| 午夜精品一区在线观看| 91成人在线精品| 韩国一区二区视频| 欧美一级在线免费| 99热99精品| 欧美—级在线免费片| 国产九色精品| 玉米视频成人免费看| 日韩不卡av| 日本不卡一区二区| 91精品国产综合久久久久久| 99久久99久久精品国产片果冻 | 亚洲成人动漫精品| 色噜噜狠狠色综合中国| 国产永久精品大片wwwapp| 日韩免费看的电影| 国产伦精品一区二区三毛| 一区二区三区中文字幕电影| 色综合久久六月婷婷中文字幕| 久久成人18免费观看| 26uuu国产在线精品一区二区| 精品在线不卡| 奇米色777欧美一区二区| 日韩欧美的一区| 精品一区二区日本| 久久国产精品第一页| 久久精品视频一区二区三区| 欧美裸体网站| 国产一区高清在线| 欧美韩国日本一区| 色婷婷亚洲一区二区三区| av一本久道久久综合久久鬼色| 亚洲视频在线观看一区| 欧美视频日韩视频在线观看| 99精品国产高清在线观看| 午夜精品久久久久久久久久 | ...av二区三区久久精品| 91极品视觉盛宴| 成a人片国产精品| 亚洲午夜精品一区二区三区他趣| 8x福利精品第一导航| 久久国产精品一区二区三区四区| 精品中文字幕一区二区| 国产午夜精品理论片a级大结局| 日本一区二区在线视频| 国产精品一区在线观看你懂的| 国产精品国产三级国产有无不卡| 色综合色狠狠天天综合色| 91小宝寻花一区二区三区| 午夜精品久久久久| 久久精品男人天堂av| 欧洲亚洲国产日韩| 国产一区二区视频在线免费观看| 美脚の诱脚舐め脚责91| 国产精品色在线| 欧美日韩精品一区二区在线播放| 久久久久高清| 99在线精品观看| 老司机精品视频在线| 亚洲精品成人少妇| wwww国产精品欧美| 欧美三级中文字| 日本不卡二区| 成人av免费在线看| 国产高清视频一区| 日本不卡中文字幕| 亚洲伦理在线免费看| 久久综合九色综合久久久精品综合 | 色婷婷av久久久久久久| 国产欧美在线一区二区| 国产69精品久久99不卡| 五月婷婷综合在线| 日韩理论片网站| 精品国产一区二区精华| 欧美图区在线视频| 伊人久久大香线蕉午夜av| 精品网站在线看| 2014国产精品| 国产成人精品影视| 美女视频免费一区| 午夜电影网一区| 亚洲综合激情另类小说区| 中文字幕在线不卡国产视频| 2021久久国产精品不只是精品| 欧美精品亚洲一区二区在线播放| 亚洲最新在线| 亚洲精品免费在线看| 秋霞在线观看一区二区三区| 国内一区二区三区在线视频|