国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

用JavaScript編寫Java虛擬機(jī)?談?wù)剣W眾取寵的BicaVM

開發(fā) 后端
最近目睹某網(wǎng)絡(luò)新聞“程序員Artur Ventura,這位超級(jí)大牛,用JavaScript寫了一個(gè)java虛擬機(jī)BicaVM”在網(wǎng)絡(luò)上傳的沸沸揚(yáng)揚(yáng),仿佛B(yǎng)icaVM就是天上有地下無的創(chuàng)舉,仿佛Artur Ventura就是繼比爾蓋茨,喬布斯之后的第三位IT業(yè)領(lǐng)軍人。下面我們將談?wù)剣W眾取寵的BicaVM。

◆ 今日目睹某網(wǎng)絡(luò)新聞,開篇明義便包含如下幾行文字

【程序員Artur Ventura,這位超級(jí)大牛,用JavaScript寫了一個(gè)java虛擬機(jī)BicaVM

繼而再讀,驚見其中“超級(jí)大牛”、“神人”等溢美之詞不絕于耳,崇拜、神往之心溢于言表。仿佛B(yǎng)icaVM就是天上有地下無的創(chuàng)舉,仿佛Artur Ventura就是繼比爾蓋茨,喬布斯之后的第三位IT業(yè)領(lǐng)軍人。然而很可惜,小弟今天準(zhǔn)備要“侮辱”一下這位“大牛”了。只因在小弟看來,這篇文章,乃至其中介紹的BicaVM,都如某女士對(duì)某御用文人的評(píng)價(jià)一樣“實(shí)無恥之尤,足令人作三日嘔”。什么“自動(dòng)化的沙盒”、“具有支持JNI接口,DOM模型等特點(diǎn)”,說起來果然天花亂墜,似乎有什么高明玄妙。

其實(shí)歸根結(jié)底,BicaVM無非就由兩種東西所構(gòu)成,一種,叫炒作,而另一種,就叫做扯淡。

眾所周知,本來JS就是解釋性的語言,而BicaVM是什么東西,是一個(gè)能夠讓JS運(yùn)行字節(jié)碼(直接讀取class)的WEB版JVM。也就是說,他要用自身還需瀏覽器進(jìn)行解釋的JavaScript,再去“解釋”已編譯為Class的Java Byte Code……上蒼啊!即便不討論性能問題,這也根本是“讓翻譯找翻譯去翻譯句子給你聽”式的繞口令了吧?別的不講,單就如此腦殘的行為,還有人管這叫“大牛”?別“牛”了,不被評(píng)價(jià)為“豬”,就算別人嘴下積德!

再看看BicaVM的類庫,既然實(shí)現(xiàn)目的是在瀏覽器中使用JVM,按理說應(yīng)該是為前端WEB開發(fā)搞的吧?可號(hào)稱已經(jīng)模擬了“60% Byte Code”功能的BicaVM中,我卻連半個(gè)可視化組件也看不見(當(dāng)然,可以調(diào)取JS指令構(gòu)建出“窗體”,但這和Java有半毛錢關(guān)系嗎?直接寫不更快,本來語法就近似),半個(gè)網(wǎng)絡(luò)工具也找不到,唯一能找到的,就是一堆堆冗余卻無用的類加載器與Java基礎(chǔ)數(shù)據(jù)類型的JS實(shí)現(xiàn)(N多對(duì)于JS來講重復(fù)的“輪子”……)

比如Java中的Long,在BicaVM中需要如此實(shí)現(xiàn)(部分源碼,太長無法顯示全,位于22KB的long.js中)。

圖1:

不知道各位都看見了什么,我所見者,就僅僅是一個(gè)蠢貨為了讓BicaVM中基本數(shù)據(jù)類型與標(biāo)準(zhǔn)Java保持一致,而強(qiáng)迫弱類型的JS去做冗長的強(qiáng)類型運(yùn)算而已——凡有點(diǎn)JS開發(fā)經(jīng)驗(yàn)者,你們能相信在客戶端跑著如此海量的科學(xué)計(jì)算的后果嗎?能相信這是正常人類想出來的辦法嗎?(BicaVM的基本數(shù)據(jù)類型全是這樣“造”出來的,所以只要用,這些運(yùn)算就沒完了)

可以說,BicaVM僅僅只是一個(gè)概念,一個(gè)看上去也不美的,JS仿“完整版Java”的概念(而且主要部分都沒實(shí)現(xiàn)),可以說,其中真正能起作用的東西,連半個(gè)也不存在。(另外,就連概念也不是他先想到的,下文有論及)

此外,不單這個(gè)項(xiàng)目毫無價(jià)值,下載BicaVM后我還愕然發(fā)現(xiàn),該項(xiàng)目作者居然在BicaVM項(xiàng)目中要求使用Python運(yùn)行服務(wù)…… 你,你玩Javaer呢?!

去看看他的webserver文件夾吧,可以說已經(jīng)把BicaVM與Python綁死在一起了。這多像一個(gè)Java Byte Code被翻譯為JavaScript后(其實(shí)就是翻譯String,然后解析為JS),再由JS向Python服務(wù)器發(fā)送請(qǐng)求處理Java代碼的——“Python馬甲”?。。≒S:BicaVM所謂的JNI接口未來100%就是這樣,除了JS能執(zhí)行的,一律讓Python服務(wù)器按照請(qǐng)求去訪問某接口,再把執(zhí)行結(jié)果返回給客戶端)

借用香港江湖片的名詞,這簡直就是“小弟”Java向“話事人”JavaScript求援,再由“話事人”JavaScript找到“龍頭”Python求幫,***由龍頭大哥Python親自出面幫Java小弟“擺平”問題的一系列標(biāo)準(zhǔn)動(dòng)作。

額滴神啊,堂堂“編程兵器譜”***位的Java,居然要向Python“搖尾乞憐”?!別的先不說,既然已經(jīng)用JS解釋JVM了,你又何苦不直接用Java服務(wù)器運(yùn)行你的演示程序呢?楞把Python做為BicaVM運(yùn)行的容器,你讓吾輩Java程序員情何以堪???!欺負(fù)我們搞Java的沒活人了嗎?!從來就有Jython存在的理由,也從來就沒有Pava存在的必要!

歸根結(jié)底,用JS跑執(zhí)行JVM行不行?行。解釋字節(jié)碼行不行?也行,怎么會(huì)不行?不過,還是等JavaScript自己先能編譯成機(jī)器碼后再說吧。

但上面所提及的,也無外是皮毛中的皮毛,真正讓小弟深惡痛絕的事情,還要從下面兩個(gè)項(xiàng)目講起。

JSVM(JavaScript Virtual Machine)項(xiàng)目

JSVM。路過的大家有誰聽說過這個(gè)項(xiàng)目沒有?我估計(jì)2008年以前學(xué)編程的朋友估計(jì)有的聽說過,有的沒聽說過,而2008年以后出來混的恐怕就鳳毛麟角了,小弟這里也不強(qiáng)求??傊@是一個(gè)由國人萬常華(wch3116)在2003年搞出來的,結(jié)構(gòu)上仿照標(biāo)準(zhǔn)Java,原理上酷似于BicaVM的開源項(xiàng)目(***版最像,JSVM2差點(diǎn),當(dāng)然,正確的語序應(yīng)該是BicaVM酷似JSVM)。

PS:在iteye上有個(gè)關(guān)于該項(xiàng)目討論的“影子”殘留,不清楚來龍去脈的可以先預(yù)習(xí):

http://www.iteye.com/topic/7252

一句話,對(duì)比BicaVM而言,JSVM的實(shí)用性比BicaVM強(qiáng)太多了。

要知道,JS的語法結(jié)構(gòu)本就與Java非常近似,如果按照J(rèn)SVM的思路整合到一個(gè)統(tǒng)一的OOP框架下,那么結(jié)合當(dāng)今的HTML5風(fēng)潮,實(shí)在是大有可為。可惜這么好的東西,不但沒多少人幫助發(fā)展,更可恨當(dāng)年還有幾個(gè)拉便宜手說便宜話的假牛出來搗亂,結(jié)果鬧得該項(xiàng)目“無疾而終”!實(shí)在是可惜,可恨,可怒,可惱,可嘆!

而讓我恨得牙根發(fā)癢的,是我在某網(wǎng)站的BicaVM文章評(píng)論中,又看到了這樣的說法:

圖2:

國內(nèi)沒人才?我呸!倒退十年國內(nèi)就有這樣的人才,我敢拿人頭保證,絕對(duì)是先有JSVM后有BicaVM(雖然兩者實(shí)現(xiàn)上有差別,但原理并無二致,都是結(jié)構(gòu)上的JS仿Java,而且JSVM直接使用原生JS(當(dāng)然,也有自己的JSC語法甚至允許自由擴(kuò)展),不模擬“完整版Java”絕對(duì)效率更高),可結(jié)果呢?只因JSVM作者是某國人,空有人才,卻很難遇人識(shí)才,***更被歸結(jié)到“不是人才”的那群里去了。小弟不知道JSVM的作者還在不在人世(應(yīng)該還在吧-_-),如果您恰巧看到本文,小弟這里順便跟您說一聲“我佩服您,您在十年前就搞出來的東西,洋人十年后才做出來!才被某國人夸!”

公道自在人心,大家有空時(shí)可以結(jié)合2004年的JSVM舊文,再結(jié)合當(dāng)前的BicaVM,也比較一下國內(nèi)對(duì)中西同性質(zhì),不同效率項(xiàng)目(明顯JSVM更快)的不同評(píng)價(jià)吧。

PS:個(gè)人始終喜歡JSVM***版,也就是高仿Java結(jié)構(gòu)的那版,后來的JSVM2或許因前版性能被某些閑人詬病,于是作者犧牲了太多Java特性而搞了JSVM2,改的已經(jīng)不像Java類庫,更貼近JQuery之類,也因此失去了原有的優(yōu)良特性,遺憾。

Avian項(xiàng)目

說完了國內(nèi)的,小弟再來介紹介紹國外的“不知名”JVM項(xiàng)目——Avian,這是一個(gè)非常精巧的JVM虛擬機(jī)項(xiàng)目。Avian***的特征就在于,可以構(gòu)建不足1MB的完整Java應(yīng)用,且無需額外的JRE。

小弟粗略歸納了一下Avian的要素,總結(jié)為如下四點(diǎn)。

1、avian基于OpenJDK構(gòu)建,代碼結(jié)構(gòu)上與標(biāo)準(zhǔn)Java如出一轍,沒有絲毫例外存在。

2、avian默認(rèn)不支持AWT/Swing,SWT等圖形庫(但可以引入,比如作者的示例中就引入了SWT庫),僅有io、lang、net、nio、security、text、util這七個(gè)標(biāo)準(zhǔn)Java工具包被預(yù)裝(近似于JavaME中CVM的實(shí)現(xiàn))。因此代碼量相當(dāng)之小。七個(gè)包的Java源碼累積僅400多KB,壓縮后簡直就是“微縮景觀”。某種意義上說,用avian寫Java病毒也沒問題(不用圖形庫,連微型虛擬機(jī)帶class壓縮后超過不過300KB)。

3、avian微型JVM默認(rèn)支持Linux、Mac OS、Windows三種環(huán)境的運(yùn)行及編譯。不過因?yàn)殚_源,從技術(shù)角度看移植到Android、iPhone等平臺(tái)未嘗不可(如果微軟WP向普通用戶開放C/C++的支持,那么也一樣)。

4、當(dāng)然,avian目前的缺點(diǎn)也有不少,比如本身沒有提供自執(zhí)行的啟動(dòng)方式,僅能通過C/C++代碼調(diào)用main函數(shù)啟動(dòng),需要用戶對(duì)C/C++有初步了解,純Java技術(shù)員難以上手。執(zhí)行速度雖然并不比OpenJDK遜色(因?yàn)橹黧w就是從中提取的,雖然作者替換了部分實(shí)現(xiàn)),但始終不同于標(biāo)準(zhǔn)JRE,有存在隱患之風(fēng)險(xiǎn),在更多示例出現(xiàn)前,商業(yè)恐怕還難以讓人放心。

怎么樣,這還算是好東西吧?但不是小弟說話張狂,我要不提Avian的名字,全中國Java程序員有一個(gè)算一個(gè),知道這項(xiàng)目者,能“他XYZ的”超過1000人嗎?

如此實(shí)用的東西,在某國卻和JSVM一樣,極少有人理會(huì),可洋人丟出來個(gè)垃圾,倒真有不少起哄幫腔的。難怪海外會(huì)有一小撮人說:“某國人干事,非得把世界上所有錯(cuò)誤的方式都嘗試遍了,才可能找到正確的那項(xiàng)選擇”。

——————————

真替某國的某些程序員感到悲哀。

原文鏈接:http://www.cnblogs.com/cping1982/archive/2011/11/23/BicaVM.html

【編輯推薦】

  1. 用JavaScript編寫JVM可成功運(yùn)行Java程序
  2. 不需要Web應(yīng)用服務(wù)器Java實(shí)現(xiàn)WebServices
  3. Java自帶的Future多線程模式
  4. Java程序員慣性思維的一個(gè)錯(cuò)誤
  5. 精解Java中代理模式的實(shí)現(xiàn)
責(zé)任編輯:林師授 來源: cping的博客
相關(guān)推薦

2017-10-14 13:34:28

數(shù)據(jù)湖數(shù)據(jù)水庫自助分析

2018-08-24 14:44:17

2011-07-26 09:01:05

Java

2018-09-19 15:46:51

編程語言Python編譯器

2021-08-03 22:26:46

Go函數(shù)分頁

2019-04-01 14:17:36

kotlin開發(fā)Java

2013-03-15 14:59:03

VMwarevSphere ESXWorkstation

2009-02-23 13:05:32

程序員學(xué)習(xí)方法

2012-05-18 10:22:23

2018-06-19 15:39:21

HeapJava虛擬機(jī)

2011-06-22 13:35:55

JVM

2020-01-17 10:52:37

無服務(wù)器容器技術(shù)

2009-06-12 16:02:58

裝載Java虛擬機(jī)

2010-07-26 09:02:38

2013-07-17 09:32:58

2011-12-01 13:13:26

JavaJVM

2010-09-17 15:12:57

JVMJava虛擬機(jī)

2020-06-03 19:07:49

Java虛擬機(jī)JVM

2019-03-05 14:59:42

Java虛擬機(jī)加載類

2010-09-25 15:13:40

JVMJava虛擬機(jī)
點(diǎn)贊
收藏

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

一区二区三区资源| 欧美一区二区在线视频观看| 亚洲欧美成人| 黄色av成人| 在线免费观看欧美| 国产精品啊啊啊| 欧美成人午夜77777| 9191在线播放| 国产成人精品无码播放| 亚洲视频综合在线| 国模大尺度一区二区三区| 很黄很黄激情成人| 男女午夜视频在线观看| 日韩动漫在线观看| 亚洲精选中文字幕| 日韩va亚洲va欧洲va国产| 亚洲精品久久久久久久久久久| 日韩av在线天堂网| 日韩中文字幕网站| 久久久爽爽爽美女图片| 97高清免费视频| 亚洲美女自拍视频| 日本一区二区三区免费乱视频| 亚洲精选91| 国产美女撒尿一区二区| 精品av中文字幕在线毛片| 久久黄色美女电影| 成人女性文胸| 2020最新国产精品| 日本不卡的三区四区五区| 国产乱码精品一区二区三区av| 天天做天天爱天天爽综合网| 久久精品国产亚洲a| 在线亚洲国产精品网站| 蜜臀精品一区二区三区在线观看| 在线一区欧美| 三级影片在线观看欧美日韩一区二区| 日韩影视在线观看| 婷婷国产在线| 亚洲制服欧美久久| 亚洲天堂网站在线观看视频| 中文字幕色av一区二区三区| 中文精品久久| www在线看| 大肉大捧一进一出好爽动态图| 69av在线视频| 午夜伦理一区二区| 久久99久久99小草精品免视看| 成人有码视频在线播放| 欧美日韩一区免费| 国产激情视频一区二区三区欧美| 日韩综合一区| 伊人国产精品| 手机av免费在线| 黄色在线视频网| 欧美性天天影院| 久久久久久久久综合| 日韩高清不卡av| 在线成人高清不卡| av在线不卡观看免费观看| 欧美伊人久久| 亚洲成aⅴ人片久久青草影院| jizz视频在线观看| 777永久免费网站国产| 国产日韩视频在线播放| 狠狠干一区二区| 日韩网站在线观看| 精品久久国产老人久久综合| 欧美午夜精品久久久久久浪潮| 欧美日韩成人综合天天影院| 色94色欧美sute亚洲13| 中文字幕亚洲成人| 成人福利视频在线| 久久精品亚洲人成影院 | 好吊妞视频这里有精品| 日本h片在线| 自拍亚洲图区| 国产丝袜在线| 日本成本人片免费观看| 又黄又爽毛片免费观看| 黄色免费福利视频| 日韩av一二三四区| 青青在线免费观看| 在线视频不卡国产| 国产经典久久久| 美女三级99| 国产伦一区二区三区色一情| 成人免费在线视频网站| 丁香五月网久久综合| 国产一区二区在线网站| 成人自拍偷拍| 久久精品一区二区三区不卡免费视频| http;//www.99re视频| 日韩av图片| 青草青青在线视频| 91麻豆福利| 日本中文字幕在线观看| 91资源在线观看| ww久久综合久中文字幕| 宅男噜噜噜66国产精品免费| 卡通动漫精品一区二区三区| 五月天久久777| 亚洲免费精品| 日韩porn| 在线国产福利网站| 日本高清成人vr专区| 日本三级一区| 免费污视频在线一区| av综合电影网站| 亚洲影院天堂中文av色| 性高湖久久久久久久久| 成人网页在线观看| 欧美激情一区二区| 日韩欧美一级二级| 国产精品aaaa| 日本午夜激情视频| 欧美日韩伦理一区二区| 男女视频一区二区| 欧美人与性动xxxx| 亚洲一区二区三区四区视频| 182午夜在线观看| 精品国产亚洲日本| 国产一区二区网址| 亚洲国产99精品国自产| 一区二区三区四区欧美日韩| 欧美大片免费| 综合天堂av久久久久久久| 亚洲国产精品二十页| 69精品人人人人| 亚洲午夜未删减在线观看 | 精品久久国产97色综合| 婷婷精品进入| 国产成人综合网站| 色综合 综合色| 精品嫩草影院久久| 91爱视频在线| 99热这里只有精品在线播放| 亚洲高清黄色| 国产视频一区二区在线观看| 亚洲精品中文字幕av| 日韩免费av一区二区三区| 欧美日本高清| 男人的天堂久久精品| 精品国产麻豆免费人成网站| 在线不卡日本| 91国内外精品自在线播放| 99re这里都是精品| 国产精品99久久久久久人| 欧美精品少妇| 青青草精品视频| 欧美在线视频一区| 涩涩视频在线观看免费| 日韩午夜一区| 国内精品久久久久伊人av| 在线观看美女网站大全免费| 国产欧美一区二区三区精品观看| 五月天激情小说综合| 亚洲免费视频观看| 国产日韩欧美一区二区| 99re在线视频| 国产成人综合视频| 国产精品久久久久国产a级| 欧美激情二区| 久久色视频免费观看| 久久久亚洲成人| 亚洲色图16p| 狠狠色丁香婷婷综合久久片| 国产成人看片| 欧美激情1区2区| 国产精品美女在线播放| 欧美—级在线免费片| 欧美在线观看一区二区三区| 999久久久久久久久6666| 日韩av电影在线免费播放| 五月激情久久久| 欧美一区二区福利| 高清不卡一二三区| 欧美日韩中文不卡| 黑人巨大精品欧美一区二区一视频| 日本韩国一区| 亚洲精品理论电影| 色网在线免费观看| 欧美又粗又大又爽| 最大av网站| www.久久久久久久久| 免费在线一区二区| 一区二区自拍| 九九精品在线观看| www欧美xxxx| 精品欧美久久久| 久久久久久久久亚洲精品| 亚洲自拍偷拍图区| 肥女人的一级毛片| 亚洲免费观看在线视频| av女同在线| 日韩一级片在线观看| 国产在线88av| 欧美精品电影免费在线观看| 亚州国产精品| 国产乱码精品一区二区三区中文 |