Android工程师进阶
蓝莓浆糊饼干
这个作者很懒,什么都没留下…
展开
-
Android源码下载地址
Index of /aosp-monthly/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror原创 2021-11-05 09:48:23 · 1413 阅读 · 0 评论 -
android中的.class文件加载到内存中的过程
主要分为三个步骤:装载,链接,初始化 一,装载:查找.class文件生成字节流,再生成class对象。 隐式装载-》写代码时候new的对象,系统就会调用类加载器装载对应class到内存。 显示装载-》写代码时候调用Class.forName()等方法会进行装载操作。 二,链接:又分为3步骤(验证,准备,解析) 1,验证:确保class文件中的字节流包含的信息符合要求,而且不会...原创 2020-04-09 17:41:39 · 554 阅读 · 0 评论 -
GC回收机制和分代回收策略
GC垃圾回收:主要针对堆和方法区的动态内存分配和回收。 可达性分析算法:将内存中的对象引用关系是通过一组GC Root的对象作为起始点,从这些节点搜索形成引用链,引用链中的对象不会被gc回收,不在引用链中的对象就会被gc回收。 GC Root对象: 1,虚拟机栈(局部变量表)中的引用对象。 2,方法区中静态引用的对象。 3,处于存活的线程对象。 4,native方法中的JNI引用...原创 2020-03-27 15:09:12 · 398 阅读 · 0 评论 -
程序运行时,内存的分配
Java文件加载到内存中的过程:java文件-》编译生成class文件-》由classLoader加载到内存。 内存划分情况: 一,线程共享数据区:方法区,堆 1,方法区:一块运行时数据区,主要存放已经被加载的类信息,常量,静态变量,即时编译器编译后的代码和数据。 2,堆:根据存放时间的不同划分为新生代和老年代两个区域。 二,线程私有数据区:虚拟机栈,本地方法区,程序计数器 1,程序计...原创 2020-03-27 14:18:40 · 172 阅读 · 0 评论