如何利用织梦cms做企业网站,郴州公司注册,校内网站建设与维护,wordpress如何上线引用计数法
引用计数法是一种垃圾回收#xff08;Garbage Collection#xff09;算法#xff0c;用于自动管理内存中的对象。在引用计数法中#xff0c;每个对象都有一个关联的引用计数器#xff0c;用于记录对该对象的引用数量。
当一个新的引用指向对象时#xff0c;…引用计数法
引用计数法是一种垃圾回收Garbage Collection算法用于自动管理内存中的对象。在引用计数法中每个对象都有一个关联的引用计数器用于记录对该对象的引用数量。
当一个新的引用指向对象时该对象的引用计数器加1当一个引用不再指向对象时对象的引用计数器减1。当引用计数器的值为0时说明该对象没有被引用即可被认定为垃圾对象可以被垃圾回收器回收内存。
引用计数法的优点是实时性强一旦没有引用指向对象就可以立即释放内存。
缺点
不能解决循环依赖
循环依赖两个对象相互依赖这样计数器就不会清零 可达性分析算法
Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象
可达性分析算法的基本思想是从一组称为根的起始对象开始递归地遍历对象引用链标记所有被访问到的对象为存活对象而未被标记的对象则被认定为垃圾对象可以被垃圾回收器回收内存。
在JVM中根对象通常包括以下几种
本地变量表中引用的对象包括当前执行的方法中使用的对象引用。静态变量中引用的对象即类的静态字段所引用的对象。活动线程中的对象即正在执行的线程中的对象。JVM内部的引用例如常量池中的引用、类静态引用等。
通过从根对象开始可达性分析算法会遍历对象的引用链找到所有可达对象。未被访问到的对象则被认定为垃圾对象。
可达性分析算法的优点是能够准确地判断对象是否存活避免了引用计数法中循环引用的问题。然而可达性分析算法的缺点是需要进行全局扫描可能会造成一定的性能开销。