Java的GC机制
来源:互联网 发布:淘宝弹窗推广有用吗 编辑:程序博客网 时间:2024/06/08 09:08
首先让我们说明什么是GC,即是”Garbage Collection”,垃圾回收的意思。由系统进行管理,释放不再使用的内存。
Java中存在的内存泄漏有两种情况。一是在堆中分配的内存,在没有将其释放掉的时候,就将能访问该内存的方式都删掉;另一种则是在内存对象已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)。第一种情况,在Java中已经由于垃圾回收机制的引入。得到了很好的解决。所以,java中的内存泄漏,主要指第二种情况。
Java垃圾回收的几种机制
标记-清除算法(Mark-Sweep)
从根节点开始标记所有可达对象,其余没标记的即为垃圾对象,执行清除。但回收后的空间是不连续的。
复制算法(copying)
将内存分成两块,每次只使用其中一块,垃圾回收时,将标记的对象拷贝到另外一块中,然后完全清除原来使用的那块内存。复制后的空间是连续的。复制算法适用于新生代,因为垃圾对象多于存活对象,复制算法更高效。
标记-压缩算法(Mark-compact)
适合用于老年代的算法(存活对象多于垃圾对象)。标记后不复制,而是将存活对象压缩到内存的一端,然后清理边界外的所有对象。
适合用于老年代的算法(存活对象多于垃圾对象)。标记后不复制,而是将存活对象压缩到内存的一端,然后清理边界外的所有对象。
增量收集器
增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾。这会造成较小的应用程序中断。
分代收集器
这种收集器把堆栈分为两个或多个域,用以存放不同寿命的对象。虚拟机生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。
0 0
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- Java的GC机制
- 【转载】Java的GC机制
- Java的GC机制详解
- Java的GC回收机制
- java的GC机制--javaGC机制
- Java的垃圾回收器GC机制
- .Java的垃圾回收机制(GC)
- Java的GC机制及算法
- IntelliJ Idea 常用快捷键列表
- 软件架构模式
- Bottles(类01背包)
- 生成二维码
- Maven搭建Spring+Struts2+Hibernate项目详解
- Java的GC机制
- 数据结构-顺序存储-线性表-基本运算
- 【GIT】git merge简介
- Maven搭建SpringMVC+Hibernate项目详解
- HTML5 那些离我们远去的HTML标签, 废弃的HTML5标签
- MySQL的优化措施
- 切面条
- Android Multimedia框架总结(十六)Camera2框架之openCamera及session过程
- 二进制求和