摘要:
垃圾回收算法的好坏直接影响到程序运行效率,接下来对几种常见的回收算法进行介绍。 标记 清除算法(Mark Sweep) 该算法是最基础的收集算法,算法分“标记”和“清除”两部分。 回收过程是标记出需要所有需要回收的对象,在标记完成后统一回收被标记的对象 不足 1. 标记和清除两个过程效率并不高。 2 阅读全文
摘要:
在jvm中如何判断对象是生存还是死亡? 如何判断对象已死? 引用计数法: 给对象添加一个引用计数器,每当有地方引用时则加一,失效时减一,任何时刻计数器为零的对象是不可能再被使用的, 优点:引用计数法的实现简单判定效率高 缺点:难以解决对象间的相互循环引用问题 可达性分析算法: 通过一系列称为‘GC 阅读全文
摘要:
以Hotspot虚拟机为例,描述对象的 创建过程。 对象的创建 通过new关键字创建对象 1. 虚拟机在遇到new关键字后先去常量池中寻找一个类的符号引用, 2. 检查这个类是否被加载,解析和初始化,如果没有则执行类加载过程 3. 为对象分配内存 在类加载过程完成后类就已经确定了对象所需要的大小,然 阅读全文