2019/08/08
学习笔记1:Android采用的Java语言需要借助虚拟机机制来调度硬件资源,并且需要翻译器或编译器将Java 字节码编译成机器码,使得Android系统存在虚拟机依赖、接口占资源、模板单一、卡顿四个问题。
学习笔记2:华为方舟系统通过将Java代码直接编译成机器码、解决混合语言的JNI开销、在统一IR之外进行代码优化、引用计数法进行内存的实时回收的方式解决Android系统的问题,系统的运行需要开发环境和终端(也就是智能手机)的配合。
学习笔记3:华为方舟编译器团队对 IR 进行了长达五年的精雕细琢,逐渐摸索出 “大脑” 里每一条神经、每一个神经元的信号规律,并在此基础上发明了一套核心专利,使得不同语言代码在开发者环境中能够统一编译成同一套可直接执行的机器码,从而彻底消除了混合语言互相调用的开销。
学习笔记4:这其中的核心创新点是混合语言的统一中间表示和完全静态编译,但更重要的是华为在解决 Android 操作系统 App 运行问题的崭新思路,以及为了实现这种思路而敢于大力投入的勇气。
学习笔记5:方舟本质上不仅仅是一个编译器,而是一个编译系统,它需要通过用户终端和开发者的共同支持。