ART世界探险(15) - CompilerDriver,ClassLinker,Runtime三大组件
ART世界探险(15) - CompilerDriver,ClassLinker,Runtime三大组件
CompilerDriver
调用编译器的接口是CompilerDriver。
我们看一看CompilerDriver的结构图吧:
这是我们在ART里能遇见的第一个复杂的大类。但凡编译相关,都要通过它来打交道。结果,它就把自己搞成了一个大杂烩。
ClassLinker
Java是门面向对象的语言,导致类相关的操作比较复杂。
在应用层有ClassLoader,在运行环境层就有ClassLinker。
我们看一下ClassLinker的公开方法,私有的还有同样多的,汗。
ClassLinker相对于CompilerDriver,逻辑上更为集中一些。
它主要是提供跟类相关的操作,包括类级的分配对象等。
CompilerDriver提供的主要是编译期底层代