`
endual
  • 浏览: 3558366 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

2.几种垃圾回收机制

    博客分类:
  • jvm
 
阅读更多

2.几种垃圾回收机制

2.1.标记-清除收集器

  这种收集器首先遍历对象图并标记可到达的对象,然后扫描堆栈以寻找未标记对象并释放它们的内存。这种收集器一般使用单线程工作并停止其他操作。

2.2.标记-压缩收集器
  有时也叫标记-清除-压缩收集器,与标记-清除收集器有相同的标记阶段。在第二阶段,则把标记对象复制到堆栈的新域中以便压缩堆栈。这种收集器也停止其他操作。

2.3.复制收集器
  这种收集器将堆栈分为两个域,常称为半空间。每次仅使用一半的空间,jvm生成的新对象则放在另一半空间中。gc运行时,它把可到达对象复制到另一半空间,从而压缩了堆栈。这种方法适用于短生存期的对象,持续复制长生存期的对象则导致效率降低。

2.4.增量收集器
  增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾。这会造成较小的应用程序中断。

2.5.分代收集器
  这种收集器把堆栈分为两个或多个域,用以存放不同寿命的对象。jvm生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。

2.6.并发收集器
  并发收集器与应用程序同时运行。这些收集器在某点上(比如压缩时)一般都不得不停止其他操作以完成特定的任务,但是因为其他应用程序可进行其他的后台操作,所以中断其他处理的实际时间大大降低。

2.7.并行收集器
  并行收集器使用某种传统的算法并使用多线程并行的执行它们的工作。在多cpu机器上使用多线程技术可以显著的提高java应用程序的可扩展性。

分享到:
评论

相关推荐

    垃圾回收机制面试题·.docx

    Java作为一种广泛使用的编程语言,其垃圾回收机制是其重要的特性之一,能够自动管理内存,大大简化了开发者的负担。本文将深入探讨Java中的垃圾回收机制,包括其工作原理、常用算法以及实际应用中的注意事项。 ####...

    Java垃圾回收机制的全面分析.pdf

    垃圾回收机制可以分为以下几个部分: 1. 垃圾的判断标准:垃圾收集器判断一个对象的内存空间是否无用的标准是:如果该对象不能再被程序中的任何一个“活动的部分”所引用,此时我们说,该对象的内存空间已经无用。 ...

    Java与C#的垃圾回收机制

    本文将深入对比Java与C#这两种广泛使用的编程语言中的垃圾回收机制,帮助开发者更好地理解它们的工作原理以及差异。 #### 二、Java的垃圾回收机制 ##### 2.1 Java内存区域 Java虚拟机(JVM)将内存划分为几个主要...

    jvm内存模型以及垃圾回收机制.pptx

    Java虚拟机(JVM)内存模型和垃圾回收机制是Java开发中至关重要的概念。本文将深入探讨这两个主题,帮助理解JVM如何管理和优化内存。 **一、类加载器和双亲委派机制** 类加载器是JVM的一个组成部分,负责加载Java...

    Java垃圾回收机制

    ### Java垃圾回收机制详解 #### 一、Java垃圾回收机制概览 Java作为一种现代的、面向对象的编程语言,其一大特色就是引入了自动垃圾回收机制。这一特性极大地简化了开发人员的工作,使得他们不再需要手动管理内存...

    Java中内存泄露及垃圾回收机制.pdf

    ### Java中内存泄露及垃圾回收机制 #### 一、内存泄露概述 在计算机科学领域,内存泄露是指在程序运行过程中,不再使用的内存未被及时释放,导致这部分内存无法被重复利用,进而影响程序性能甚至导致程序崩溃的...

    JVM垃圾回收机制

    JVM垃圾回收机制包含以下几种典型的垃圾收集算法: - 标记-清除算法:先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。这种方法简单但效率低下,且会产生大量内存碎片。 - 复制算法:将内存...

    全面解析Java的垃圾回收机制.doc

    Java的垃圾回收机制是Java虚拟机(JVM)内存管理的关键组成部分,主要负责自动清理不再使用的对象,以释放堆内存空间。垃圾回收机制避免了程序员手动管理内存,从而简化了编程,增强了程序的稳定性。 垃圾收集的...

    垃圾回收机制学习笔记

    ### 垃圾回收机制详解 #### 一、引言 在现代软件开发过程中,内存管理是确保程序高效稳定运行的关键因素之一。垃圾回收(Garbage Collection,简称GC)作为自动内存管理的一部分,在Java等高级语言中扮演着至关...

    java垃圾回收机制借鉴.pdf

    Java垃圾回收机制是Java语言中的一个重要特性,它自动管理程序中的内存,避免程序员手动处理内存释放,从而减少了内存泄露和程序崩溃的风险。垃圾回收的主要目标是识别并清理不再被程序引用的对象,以便回收其占用的...

    单例模式与垃圾回收机制

    ### 单例模式与垃圾回收机制 #### 一、引言 在软件开发领域,设计模式作为一种被广泛接受的最佳实践,对于提高代码质量和可维护性起着重要作用。单例模式作为23种经典设计模式之一,确保了某个类只有一个实例,并...

    Java中内存泄露及垃圾回收机制参照.pdf

    Java中内存泄露及垃圾回收机制参照 Java是一种可以编写跨平台应用软件的面向对象...Java的垃圾回收机制可以自动回收内存中的垃圾,避免内存泄漏,但是程序员需要注意避免内存泄漏的几点,以确保程序的稳定性和安全性。

    jvm内存模型以及垃圾回收机制.rar

    Java虚拟机(JVM)是Java程序运行的基础,它的内存模型和垃圾回收机制对于理解Java程序的性能和稳定性至关重要。本文将深入探讨这两个关键概念。 首先,我们来了解JVM内存模型。在Java中,内存主要分为堆内存(Heap...

    全面分析Java的垃圾回收机制

    Java的垃圾回收机制是Java虚拟机(JVM)的核心特性之一,它负责自动管理应用程序的内存,特别是对象的生命周期。垃圾回收的主要目标是回收不再被程序引用的对象所占用的内存,以便这部分空间可以被重新利用。 垃圾...

    详细介绍Java垃圾回收机制

    Java垃圾回收机制是Java编程语言的关键特性,负责自动管理程序中的内存,确保程序高效、稳定地运行。在Java虚拟机(JVM)中,垃圾回收的主要任务是识别并清理不再被程序使用的对象,以避免内存泄漏。以下是关于Java...

Global site tag (gtag.js) - Google Analytics