`
85977328
  • 浏览: 1903578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM内存分析系列(七)垃圾收集算法

 
阅读更多
内存回收的方法论

标记-清除算法
Mark-Sweep
分为标记和清除两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。
主要缺点有2个:
1效率问题
2产生内存碎片





复制算法
Copying
它将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当然这一块内存用完了,就将还存活的对象复制到另外一块上面,然后把已经使用过的内存一次清理掉。无岁碎片问题。
缺点:
浪费了一半内存。





标记-整理算法
Mark-Compact
与“标记-清除”算法一样,但后续的步骤不是直接对可回收的对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。





分代收集算法
Generational Collection
根据对象的存活周期的不同,将内存划分为几块。一般是把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适合的收集算法。




  • 大小: 62.7 KB
  • 大小: 73.6 KB
  • 大小: 65.9 KB
  • 大小: 22.8 KB
分享到:
评论

相关推荐

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM调优,思路清晰,没有废话,旨在挑战高薪。 课程亮点: 1、基于阿里arthas进行JVM调优; 2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路;...

    JVM面试资料:JVM结构、JVM调优、四大垃圾回收算法、七大垃圾回收器

    四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel、Parallel Old、G1 JVM调优:命令行指令,设置堆内存大小的参数

    jvm 内存分析文档

    内存分配的策略会影响垃圾收集的效率和程序的响应速度。 ### GC(垃圾回收) 垃圾回收是JVM自动管理内存的关键特性,主要目标是回收不再使用的对象所占用的内存空间。根据对象存活的生命周期,GC分为不同的代际...

    JVM内存分配与垃圾回收详解

    本文对 JVM 内存分配与垃圾回收进行了详细的解释,包括 JVM 运行时数据区域、String 常量池、垃圾回收、垃圾收集算法等内容。了解 JVM 内存分配与垃圾回收是 Java 开发者必须掌握的基础知识之一。

    jvm学习笔记(jvm内存模型&垃圾收集算法&类加载机制)

    在JVM的学习中,理解其内存模型、垃圾收集算法以及类加载机制至关重要。 1. **JVM内存模型** - **方法区**:也称为“永久代”,存储虚拟机加载的类信息、常量、静态变量等,是线程共享的区域。在Java 8之后,这...

    JVM内存模型以及垃圾回收相关资料

    JVM内存模型与垃圾回收是...总的来说,理解JVM内存模型和垃圾回收机制对于优化Java应用性能至关重要,它涉及到内存分配策略、垃圾收集算法的选择以及内存参数的调整,这些都需要开发者具备深入的JVM知识和实践经验。

    JVM 内存分析

    由于无法直接访问,我们可以假设博主可能讨论了JVM内存的分配策略、垃圾收集算法(如Minor GC、Major GC、Full GC)、内存泄漏检测以及如何通过工具(如VisualVM、JProfiler)进行内存分析和性能调优。 标签 "源码...

    jvm内存基本结构及垃圾回收

    **JVM内存基本结构** Java虚拟机(JVM)是Java程序运行的平台,它提供了内存管理、类加载、字节码执行等核心功能。JVM的内存结构主要分为以下几个区域: 1. **堆(Heap)**:这是JVM中最大的一块内存区域,用于...

    JVM之基本的垃圾回收算法汇总

    这篇博客将探讨JVM中的基本垃圾回收算法,帮助我们更好地理解JVM内存管理的原理。 1. 标记-清除(Mark-Sweep)算法 这是最早的垃圾回收算法之一。它分为两个阶段:标记和清除。首先,从根节点开始遍历所有可达对象...

    JVM初探- 内存分配、GC原理与垃圾收集器

    再者,GC原理涉及到垃圾收集算法,主要包括分代收集算法和分区收集算法。分代收集算法是目前主流的收集方式,它将堆内存分为新生代和老年代,根据对象的存活周期不同,采用不同的收集策略。新生代采用复制算法,因为...

    JVM内存模型和垃圾收集.pdf

    ### JVM内存模型与垃圾收集详解 #### 一、引言 在现代软件开发领域,Java作为一门广泛应用的编程语言,其运行环境Java虚拟机(JVM)对于程序的性能有着极其重要的影响。特别是在服务器端程序中,合理的内存管理和...

    JVM内存空间分配笔记

    - 分析垃圾收集器的行为。 - 避免不必要的对象创建。 - 优化算法和数据结构。 #### 九、类的封装与继承 类的设计在Java开发中至关重要。良好的封装不仅可以提升代码的安全性,还可以提高代码的可维护性和可扩展...

    JVM-性能调优垃圾收集算法虚拟机组成

    Java虚拟机(JVM)是Java程序运行的基础,它负责解析和执行字节码,管理内存,以及执行垃圾收集等重要任务。对于任何Java开发者来说,理解和掌握JVM的性能调优、垃圾收集算法以及虚拟机的组成是提高应用程序效率的...

    JVM内存模型及垃圾收集策略解析

    **JVM内存模型及垃圾收集策略解析** Java虚拟机(JVM)是Java程序运行的基础,它为Java程序提供了一个跨平台的运行环境。在深入理解JVM内存模型与垃圾收集策略之前,我们首先需要知道JVM的主要组成部分:类装载器、...

    JVM性能调优-JVM内存整理及GC回收.pdf

    只要存在强引用,垃圾收集器就不会回收该对象。 2. **软引用**:软引用可用于实现内存敏感的缓存。当系统将要发生内存溢出异常之前,会把这些软引用对象加入回收队列之中进行第二次回收。如果这次回收后还没有足够的...

    JVM-内存管理 2012-12.pdf

    内存分析工具如jvisualvm、jmap、jhat和MAT(Memory Analyzer Tool)等,为Java开发者提供了分析JVM内存使用状况的能力。这些工具可以用来监控堆内存的使用情况,识别内存泄漏,分析内存使用趋势,帮助开发者进行...

    jvm内存管理,pdf

    通过以上内容可以看出,深入理解JVM内存管理和垃圾收集机制对于提高应用程序的性能至关重要。尽管现代JVM已经非常智能,能够自动管理大部分内存相关的工作,但在面对复杂的应用场景时,仍然需要开发人员具备一定的...

    Jvm性能优化-JVM内存结构原理分析03

    了解Jvm内存结构、垃圾收集器、类加载器等知识点,可以帮助我们更好地优化Jvm的性能。 在Jvm中,垃圾收集器的选择对性能产生了很大的影响。不同的垃圾收集器适用于不同的场景,选择合适的垃圾收集器可以提高Jvm的...

    JVM 内存结构及配置总结

    - **垃圾收集算法**:常见的包括标记-清除、复制、标记-整理和分代收集等。 - **垃圾收集器**:包括串行收集器、并行收集器、并发收集器等,如Parallel GC、Parallel Old GC、ParNew GC和CMS(Concurrent Mark ...

Global site tag (gtag.js) - Google Analytics