<返回更多

方舟能够编译的语言有哪些?

2019-07-04    
加入收藏

方舟编译器是基于Android平台的,而Android平台的绝大部分应用都是用JAVA语言写的。所以你这个问题的答案毫无疑问是JAVA。

计算机世界里只有0,1字符串,你写的JAVA或者是其他语言也好,这些代码是不能直接被机器识别的,需要通过一个我们可以说是“中间件的”,可以理解为这个中间层采用 Java 语言直接作为输入,最后输出机器能够识别的指令,交给机器去执行。而近些年来Java之所以这么流行就是因为java虚拟机的强大,跨平台的强大,程序员只需要写一样的代码,通过针对不同平台的Java虚拟机的解释(JVM),就可以不同的平台上运行。这是Java语言一个极大的优势。

这里再次回到android,之前的编译器,在翻译Java语言时,理解一句 Java 语句就把Java语言翻译一下让CPU 执行一段,我们一般称这种模式为「边解释边执行」,这种效率是比较低,但是若如果全部“翻译”完成之后再执行,又会出现如下的两个很难受的缺点:

  1. 安装速度很慢。
  2. 占用磁盘空间,Java 代码编译为机器码之后体积会急剧膨胀。

这两种模式在之前的的安卓系统中都出现过,但是就像这种的全部“翻译”完成再执行的方法,由于方法本身的不足且CPU比现在差多了,有时候可能安装一个像现在这样的应用如要好几分钟,开机时间或许会上十几分钟。所有后来针对这个问题,Android其实是做了些改的,比如Android7.0以后的程序改进之后其实效率提升了很多。

华为这次推出方舟编译器,也就是说在Android已经改进的如今基础之上在提速好几成之上。而且华为直接做的是最底层的部分,也就是将代码“翻译”为机器能识别的指令这方面,可能是用了什么先进的方法将这部分的效率大大提高了。华为已经官方宣布开源了,静待开源吧。这里是华为官方发布方舟编译器的视频有兴趣的话可以看一下

https://www.bilibili.com/video/av49018486?share_medium=android&share_source=qq&bbid=aVlpD2oJa11oCzwPcw9zinfoc&ts=1555170439210

 

我个人认为华为这次这么有底气,也和华为一直以来的技术积累和用户积累有关系吧,华为硬件方面,cpu芯片方面也是做的相当不错,可能正是因为这样的底层积累,才让华为这么有自信的推出这样一款产品。(接下来胡扯一波,可信度不高[嘿嘿],不知道这不是为华为推出自己的操作系统布局,华为自研操作系统的传闻前几年就在流传,但华为强调是作为备用,但我个人认为如果华为真的投入去研发出了不错的操作系统,是绝对不会仅仅局限于备用的,我相信华为的目标应该是苹果,像苹果一样,自研芯片跟自研系统完美契合,还有设备间的生态互联。华为肯定也有这样的打算,并有超越苹果的野心。华为肯定不想一直受Android的限制,尤其是最近安卓准备收费的传闻不断传来)

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>