Art和Dalvik对比以及虚拟机的原理

来源:互联网 发布:javascript代码怎么用 编辑:程序博客网 时间:2024/05/20 00:51

       ART(Andriod RunTime)是Dalvik虚拟机的下一个版本,Dalvik运行的是字节码,而ART运行的是本地的代码,虚拟机的作用就是用来运行系统的应用程序。

       ART相较于Dalvik的优势:

       1.超前编译:主要用来提升速度与减小内存开销,而Dalvik的编译方式是JIT(just in time)即:无库存生产方式,每一次运行程序都需要重新编译,这不仅增加了内存的负担,而且速度也较慢,而ART与JIT类似,但是ART只运行一次,在安装程序的时候将运行一次(将我们的APP编译成本地的代码),所以第一次启动的时候ART会比Dalvik慢,之后会比Dalvik快很多。

       2.提升了垃圾回收的性能。

       虚拟机的原理:

       首先我们来了解一下java虚拟机运行的过程,当你编写完Java代码之后输入指令:javac YourClassName.java,那么此时你的Java代码就被编译成了字节码,当然如果你使用的是Eclipse IDE 、Android Studio等开发工具,你保存代码的时候开发工作自动的就帮你完成了上述的工作,你此时就可以在目录下面看到java文件对应的class文件,接着JRE(Java Runtime Environment)的加载器从硬盘来加载Class文件,把它加载到JVM的内存区域(运行数据区-Runtime Data Areas),最后加载引擎或者编译类文件,转化为特定了CPU机械码,CPU运行机械码,这样整个过程就完成了。

       类加载器(介绍):

       类加载器被组织成了一种层级关系,也就是父子关系,其中BootStrap是所以类加载器的父类,处于顶端。


      



    



1 0
原创粉丝点击