网站首页 > java教程 正文
一:垃圾回收机制的意义
java 语言中一个显著的特点就是引入了 java 回收机制,是 c++程序员最头疼的内存管理 的问题迎刃而解,它使得 java 程序员在编写程序的时候不在考虑内存管理。由于有个垃圾 回收机制,java 中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回 收可以有效的防止内存泄露,有效的使用空闲的内存;
内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般情况下,java 的内存泄露表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有是也将其 称为“对象游离”;
二:垃圾回收机制的算法
java 语言规范没有明确的说明 JVM 使用哪种垃圾回收算法,但是任何一种垃圾回收算法一 般要做两件基本事情:(1)发现无用的信息对象;(2)回收将无用对象占用的内存空间。 使该空间可被程序再次使用。
引用计数法(Reference Counting Collector)
算法分析:
引用计数算法是垃圾回收器中的早起策略,在这种方法中,堆中的每个对象实例都有 一个引用计数器,点一个对象被创建时,且该对象实例分配给一个变量,该变量计数设置为 1 ,当任何其他变量赋值为这个对象的引用时,计数加 1 ,(a=b ,则 b 引用的对象实例 计数器+1)但当一个对象实例的某个引用超过了生命周期或者被设置为一个新值时,对象 实例的引用计数器减 1,任何引用计数器为 0 的对象实例可以当做垃圾收集。 当一个对象 的实例被垃圾收集是,它引用的任何对象实例的引用计数器减
优缺点
优点:
引用计数收集器可以很快的执行,交织在程序运行中。对程序需要不被长时间打断的实时环 境比较有利。
缺点:
无法检测出循环引用。如父对象有一个对子对象的引用,子对象反过来引用父对象。这样, 他们的引用计数永远不可能为 0.
猜你喜欢
- 2024-11-08 咱们从头到尾说一次 Java 的垃圾回收
- 2024-11-08 了解Java垃圾收集(java中垃圾收集)
- 2024-11-08 Java 垃圾回收(java垃圾回收)
- 2024-11-08 Java JVM垃圾回收算法浅记(java 垃圾回收机制)
- 2024-11-08 Java 经典垃圾回收器详解(java 垃圾回收器有哪些)
- 2024-11-08 JVM系列(十):JVM 垃圾回收机制详解分析
- 2024-11-08 看连环画,Java垃圾回收机制,简单易懂
- 2024-11-08 【虚拟机】深入理解java虚拟机【垃圾回收算法】
- 2024-11-08 Java面试必背——垃圾回收机制及如何手动触发垃...
- 2024-11-08 Java垃圾回收算法(java垃圾回收算法cms执行的顺序是)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)