分享
 
 
 

不可能的任务 (蔡学墉)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

二千年六月二日,影星 Tom Curse... oops! Tom Cruse,不不不,我是说 Tom Cruise(汤姆克鲁斯)来台宣传新片 Mission: Impossible 2(不可能的任务 2)。虽然还没去看,但任谁都猜得出结果:咱们俊俏的 Tom 不会让全球影迷失望,在片中,他一定会再一次地完成了不可能的任务(可能还会有抱得美人归的 bonus)。依我看来,这种任务只能叫做「Mission: Difficult(有难度的任务)」,当然擅长行销的电影公司绝对不会取这么没号召力的名字,好象 Tom 是个 wimp 似的。

「连续完成了两次的任务,还说是不可能的任务,我看 Tom 在情报局的上司对任务的分级有问题 ......」我不免犯嘀咕。要称得上是不可能的任务,我心中倒是有一个,那就是「让 Java 透过虚拟机器的方式执行得比 native 的 C/C++ 快」。

在 HotSpot 虚拟机器 1.0 推出之前,Sun 用了约一年的时间在为 HotSpot 造势,天花乱坠的说法中,最让大家感兴趣的是他们所宣称的「HotSpot 可以大幅地提升 Java 的执行速度,使得执行效能逼近 C/C++,甚至超越 C/C++」。我的天!「甚至超越 C/C++」,这种超越极限的事,的确是值得大书特书的。但仔细想想,怎么可能超越 C/C++ 的 native code 呢?以编译器的原理来看,这根本就是不可能的!

一个程序要能执行,必须经过六大步骤,分别是:语汇分析、语法分析、语意分析、产生中间码、最佳化、产生目的码。纯直译式的语言不需要编译,执行的时候才由直译器进行这六个步骤;纯编译式的语言在程序执行前需要进行编译,完成上述的六大步骤之后得到执行档,此执行文件用到底下硬件平台的指令集和相关的函式库,所以直接就可执行,不需要直译器,这样的执行档我们称为 native code。

除了纯直译和纯编译的语言之外,还有一种叫做混合式语言,传统的 Java 就属于这一类。Java 程序需要编译器来进行前四大步骤(语汇分析、语法分析、语意分析、产生中间码),产生出来的中间码就是 class 檔。这些 class 档不能直接执行,需要直译器来进行最后的翻译步骤才能执行。

C/C++ 是纯编译式的语言,所以程序必须被编译成底下平台的指令集,执行时就不像 Java 需要直译器的翻译,所以 C/C++ 的执行档自然比 Java 的 class 档快许多。因此,只要 Java 程序是在虚拟机器上执行,不管使用什么样的算法来加速(包括 JIT Compiler),仍然不可能比 C/C++ 的 native code 快。

在我的这番说明之后,你应该也能体会 Java 为什么速度上的表现一直未能让我们满意。但为了得到跨平台的好处,这一点牺牲也是值得的。更何况新一代的的 Java 虚拟机器的执行效能一直都在进步,但再怎么进步还是不可能超越 C/C++ 的 native code。

什么!你说有人号称他们的虚拟机器可以让 Java 的执行效能「比汇编语言好」。我看这已经不是 Mission: Impossible,而是 Mission: Laughable 了。叫那些人去上一上「编译器原理」的课,别再出来贻笑大方了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有