在初略了解了ClassLinker之后,我们下一步先了解一些相关的类或者结构体。ArtField在ART虚拟机底层中用来表示类的成员变量的;ArtMethod则是用来表示类的成员方法;DexCac…
原创)基于Android R之ClassLinker分析
ART虚拟机系列,在前几篇我们分析了ART虚拟机的创建、JavaVmExt和JNIEnvExt。这篇我们继续展开,我们来分析下ART虚拟机中ClassLinker的作用。首先我们看下ClassLi…
(原创)基于Android R之ART虚拟机JNIEnvExt类介绍
说到JNIEnvExt这个类,其实是和JavaVMExt类似的,JavaVMExt是从JavaVM继承而来,而JNIEnvExt类则是从JNIEnv继承而来,类关系图和JavaVMExt也是类似的…
(原创)基于Android R之ART虚拟机的JavaVmExt类和InitNativeMethods方法介绍
这一篇是紧接着上一篇《(原创)基于Android R之ART虚拟机的创建流程》遗留的一些问题做进一步分析。上一篇我们遗留了两个内容,一个是JavaVmExt类,另一个则是InitNativeMet…
(原创)基于Android R之ART虚拟机的创建流程
我们知道Android的底层是Linux系统,Android系统运行的APK都是包含的Java代码。要在Linux上运行Java代码,这里就会涉及Java虚拟机创建的过程,Android系统自5.…
编写Java程序进行class文件解析
这段时间在按照 https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html 简单编写了一个class文件解析程序,用的是Java…
从openjdk源码分析class文件格式
在拜读邓凡平老师的《深入理解Android Java虚拟机ART》后,试着结合openjdk 11的代码对class文件的格式进行分析。因为详细的介绍在《深入理解》中已经有说明,所以结合代码分析的…