- 在 Java 中
.java源文件会先编译成.classs字节码文件,然后借由 JVM 虚拟机将.class字节码加载进内存,最终程序得到运行。其中.class加载过程就是由类加载器(ClassLoader)来完成的。 - 而 Android 与 Java 相似,
.java源文件会先编译成.dex文件(.class的集合),然后 Android 虚拟机( ART虚拟机 和 Dalvik虚拟机)将.dex文件加载进内存,最终程序得到运行。dex加载过程也是由类加载器(ClassLoader)完成的。
什么是类加载?
凭借一个类的全限定名得到对应的可以描述该类的二进制字节流,并将这些字节流转化为方法区的某种数据结构,生成一个
java.lang.Class对象作为方法区这个类各种数据访问入口。这个过程就是类加载。
类加载过程就是由 ClassLoader 来完成的。