美文网首页
理解 Java 的垃圾回收机制

理解 Java 的垃圾回收机制

作者: sakura579 | 来源:发表于2020-09-24 16:38 被阅读0次

对于很多具有 C 语言基础的读者来说,在 Java 的众多突出特性之中,垃圾回收机制是首先要习惯的一个,因为在他们之前的习惯中,动态分配的对象所占的内存会在程序结束运行之前一直被占用,在明确释放之前不能分配给其他对象;而在 Java 中,当没有对象引用指向原先分配给某个对象的内存时,该内存便被垃圾回收机制视为垃圾,后者是 JVM 中的一个系统级线程,它会自动释放这样的内存块,垃圾被回收意味着程序不再需要的对象是「无用信息」,这些信息将被丢弃。当一个对象不再被引用时,JVM 就会回收它占用的内存,以便该内存能被后来的新对象使用。事实上,除了释放没用的对象之外,垃圾回收机制也会清除内存中的碎片。这些碎片是由于创建对象以及垃圾回收机制释放对象占用的内存空间造成的,碎片是分配给对象的内存块之间的空闲内存洞。执行碎片整理会将占用的堆内存移到堆的一端,JVM 则将整理出的内存分配给新的对象。

垃圾回收机制能自动释放内存空间,这样做可以减轻编程人员的负担,赋予 Java 虚拟机一些优点。它能提高编程效率。在没有垃圾回收机制的时候,可能要花许多时间来解决让人费解的存储器问题。在用 Java 语言编程时,靠垃圾回收机制可大大缩短时间。另外,它能保护程序的完整性,垃圾回收是 Java 语言安全性策略的一个重要部分。

垃圾回收的一个潜在缺点是,它的开销会影响程序性能。Java 虚拟机必须追踪所运行程序中有用的对象,而且最终释放没用的对象。这个过程需要占用处理器。另外,垃圾回收机制在算法上的不完备性,也会使得早先采用的某些垃圾回收不能保证 100%回收所有的废弃内存。当然,随着垃圾回收算法的不断改进以及软硬件运行效率的不断提升,这些问题都终将得到解决。

相关文章

  • Java垃圾回收详解

    深入理解 Java 垃圾回收机制 深入理解 Java 垃圾回收机制 一:垃圾回收机制的意义 java 语言中一个...

  • JVM垃圾回收机制

    JVM垃圾回收 整体思维导图 带着问题理解JVM垃圾回收机制 Java为什么需要垃圾回收机制; 回收哪部分垃圾; ...

  • 优秀的程序员更重视阅读源码,不看源码那是假的

    从事Java开发的都知道java有个垃圾回收机制Garbage collection,要准确理解Java的垃圾回收...

  • JVM之Java垃圾回收机制

    为大家推荐一篇写的通俗易懂的关于Java垃圾回收机制的文章理解Java垃圾回收机制 Java主要把内存分为堆内存和...

  • Java 内存区域和GC机制

    Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与...

  • 【转】理解Java垃圾回收机制

    http://jayfeng.com/2016/03/11/理解Java垃圾回收机制

  • JS垃圾回收机制(内存问题)

    垃圾收集机制理解 垃圾收集机制:释放无用的数据,回收内存。 垃圾收集机制分类:1)自动回收 2)手动回收 垃圾收集...

  • Java垃圾回收

    本文主要摘自《深入理解Java虚拟机》,内容较多,尽量全面概括了 Java 垃圾回收机制、垃圾回收器以及内存分配策...

  • Android知识大纲

    Android知识大纲 Java垃圾回收机制 Java内存是如何划分的,Java语言为什么要使用垃圾回收机制? 垃...

  • 初学java垃圾回收机制

    原由 看tij4.0关于java垃圾回收机制的相关思想和原理描述时,理解不深刻;同时希望了解现行的关于垃圾回收机制...

网友评论

      本文标题:理解 Java 的垃圾回收机制

      本文链接:https://www.haomeiwen.com/subject/ccqtuktx.html