Android虚拟机
文章平均质量分 51
csdn123lst
Android开发
展开
-
JVM内存管理
运行时数据区 类加载过程: HelloWorld.java -> javac -> xxx.class -> ClassLoader -> 运行时数据区 运行时数据区包括:堆,Java栈,方法区 堆区:Eden,From,To,Tenured(老年代) 堆内存是连续的内存地址 堆内存存储Java对象,无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。 堆内存中的对象对所有线程可见。堆内存中的对象可以被所有线程访问 栈区:程序计数器,栈帧(局部变量原创 2021-05-22 16:58:48 · 64 阅读 · 0 评论 -
Android虚拟机与类加载机制
JVM与Dalvik JVM是基于栈的虚拟机 每一个运行时的线程,都有一个独立的栈,线程中的每一个方法,都对应一个栈帧 每一个操作程序计数器都会+1 ICONST 将数据压入操作数栈 ISTORE 将操作数栈的数据赋值给局部变量表 ART、Dalvik是基于寄存器的虚拟机 Dalvik下应用在安装的过程,会执行一次优化,将dex字节码优化生成odex文件,5.0之后而ART下将应用的dex字节码翻译成本地机器码(使用了预先编译机制(AOT,Ahead Of Time))。ART使用设备自带的工具dex2oa原创 2021-05-21 13:39:14 · 118 阅读 · 0 评论