zoukankan      html  css  js  c++  java
  • 垃圾回收技术

        从Java发布最早的版本开始,一直都保留的核心特点就是垃圾回收。垃圾回收使我们不再需要手动管理内存。当使用完一个对象后,我们只需要删除他的应用,好,垃圾回收就会自动释放它。垃圾回收为程序员减少了分配,释放内存空间等繁琐步骤。

        尽管垃圾回收达成了无需手动管理内存的目标,也防止了传统的内存泄漏。但是作为代价,但是有时垃圾回收相当笨拙。不同的jvm,垃圾回收策略也有所不同。垃圾回收的最大的敌人就是传说中的主要(major)或(full)垃圾回收。除了Azul JVM,所有的JVM都存在这个的问题。

       当垃圾回收运行时,他会运行一项可达性测试,他会创建一个由对象组成的跟集合(root set),该集合包含每个运行线程中的直接可见的对象。接着,他会探寻跟集合中对象涉及的其他对象,然后探寻这些对象涉及的对象,直到所有的对象都被涉及。在这个过程中,他会记录下现时活动对象的内存地址。然后把不被使用的地址都扫除。恰当的说,他会把没有跟集合对象引用的内存都释放。最终,他会压缩,整理这些内存,这样新的对象才能获得内存分配。

  • 相关阅读:
    ThreadPoolExecutor使用介绍
    apache和tomcat区别(转)
    ThreadFactory的理解
    Tomcat报45秒无法启动错误修改方法
    快速排序
    冒泡排序
    矩阵快速幂
    CF#524-C
    CF#524-B
    hdu3308—LCIS
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/10531738.html
Copyright © 2011-2022 走看看