DrS*_*ove 6 c# java compiler-construction actionscript
为什么Actionscript,Java,C#等编译成中间代码?我知道使用中间代码的跨平台优势.
问题是:与解释的脚本(JS,Python,PHP,Perl等)相比,编译到中间代码有什么好处?
它只是代码混淆吗?或者是什么?
此外,与编译本机代码相比有什么好处?
SLa*_*aks 12
解析和JIT编译IL代码比解析像Java这样的高级语言,特别是C#(具有更多功能)要快得多.
它还允许开发人员使用新的语言功能,而无需更新最终用户的计算机上的任何内容.(例如,LINQBridge)
首先,历史上Java是针对具有非常有限的CPU /内存的移动设备和嵌入式设备,并且此类设备上的JVM无法进行任何密集优化,就像现在的JIT一样.所以java engeneers决定将优化转移到编译阶段.
接下来,具有"字节代码"/ IL允许您将来自不同语言的许多编译器转换为这样的字节代码 - 并且只有一个JVM/JIT.为每种语言创建单独的VM + JIT要高效得多.请记住,在JVM世界中有Java,JRuby,JPython,Groovy等,在.NET世界中有C#,VB#,ASP.NET,F#等,每个只有一个运行时/ VM.
| 归档时间: |
|
| 查看次数: |
1272 次 |
| 最近记录: |