GC是什么?
GC的英文全称是:Gabage Collection,翻译成中文就是垃圾回收的意思。在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便于分配给新的对象使用。
那我们在了解回收机制要先了解的知识有哪些
我们先说三个英语
(Minor GC) vs (Major GC) vs (Full GC)
- Minor GC代表着新生
- Major GC是清理旧老的
- Full GC 是清理整个堆空间—包括新生和旧老
JVM和DVM的不同点
1、Dalvik 和标准 Java 虚拟机(JVM)的首要差别
Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
2、Dalvik 和 Java 字节码的区别
Dalvik执行.dex格式的字节码,而JVM执行.class格式的字节码。android程序编译完之后生产.class文件,还有通过aapt工具生成的R.class等,然后dx工具会把.class文件处理成.dex文件,最终资源文件和.dex文件等打包成.apk文件。
3、Dalvik和Java运行环境的区别
Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能。 Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
步骤:
(1,JVM是怎么分配内存的,,2,识别哪些内存是垃圾需要回收,,3,最后才是用什么方式回收。ÿ