首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

方舟编译器是将java代码像C+静态编译,那么为什么安卓当时一开始

华为方舟编译器可以编译C/C++,Java,JavaScript以及Kotlin,方舟编译器可以说是实现了几乎所有操作系统平台的通用开发语言的编译环境。不过要强调的是方舟编译器并没有实现Java像C/C++一样的静态编译,方舟编译器本质上还是基于GCC的交叉编译套件,本身还是采用的预编译的方式,至于效率到底怎么样,目前也只是华为官方给出了一些数据,而且我找遍了华为开发者官网也没有找到这个工具。

古老的有Pascal语言的P-code,现代的有Java语言的字节码和JVM。Google选择了Java,但是为了规避SUN公司的许可证限制,改造了JVM,换成了另外一种虚拟机Davik,标准的JVM所有操作都是针对堆栈顶的操作,而Davik是一种面向寄存器堆的体系结构,更类似常用的RISC机器。尽管有这些不同,但解释运行硬件无关中间代码的本质还是一样的。

方舟的这个编译器,将转换过程提前到生产过程,这个应该能够带来巨大的性能提升。毕竟电脑的CPU和手机cpu性能不是一个档次,而且编译过程对速度不敏感,安装过程则对速度极度敏感,编译过程可以进行更深度的优化。另一个是完全抛弃了虚拟机,理论上也会带来性能的巨大提升。核心创新点是混合语言的统一中间表示和完全静态编译,但更重要的是华为在解决 Android 操作系统 App 运行问题的崭新思路。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200111A08M6400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券