`

JVM stop the world

 
阅读更多
JVM 在进行GC的时候,需要做两个事情,一个是GC root 做可达性分析

GC root的对象 可能是常量,类静态变量,以及虚拟栈中的局部变量,这些大概组成了GC root对象,GC root 需要在一个JVM 某个时间点的快照,然后基于这个快照来做可达性的分析,基于这个快照,判断哪些对象是要被回收的,接下来就要真正的GC操作,在新生代,老年代,会做不同的GC操作,标记清理,或者复制整理,或者标记整理,
将新生代的存活的对象,转入到老年代,老年代也会做自己的回收策略

在GC回收是,大多数JVM 会做stop the world 的一个操作,即停止整个JVM,这个操作多少会影响到JVM 对外使用者的体验,但是却又不可缺少,因为不做这个停止操作,GC root将没有办法精确的找到某个时间点上,对象及引用的关系,如果这个关系不断的变动,GC就没有办法判断哪些是真实的不可达的,会造成内存清理的不准确,甚至引发系统的异常,另外呢,就会出现清理的内存不完全的问题,更多原因还是在前者
分享到:
评论

相关推荐

    jvm和gc详解及调优

    5. **GC调优**:包括如何分析GC日志,理解GC停顿(Stop-the-World)事件,以及如何通过调整JVM参数来改善系统性能,如设置堆大小、新生代与老年代的比例、存活代的晋升策略等。 6. **性能监控与诊断工具**:如...

    JVM思维导图(包含所有JVM知识)

    G1和ZGC使用更先进的算法来降低STW(Stop-The-World)时间。 - **内存回收**:通过可达性分析算法判断对象是否存活,如引用计数法和根可达法。 finalize()方法用于对象在被回收前的自定义清理逻辑,但不应依赖它...

    揭秘Java虚拟机-JVM设计原理与实现

    它采用分代收集算法,包括新生代、老年代和永久代,以及各种GC策略如Stop-the-world、并发标记等。 6. **异常处理**:JVM支持异常处理框架,通过异常表来确定异常发生时的处理流程。 7. **多线程**:JVM内置对多...

    JVM高级特性与最佳实践

    了解这些算法的工作原理,可以帮助我们优化内存分配和回收,避免内存泄漏和STW(Stop The World)现象,提高系统响应速度。 JVM的类加载机制也值得深入研究。它遵循“双亲委派模型”,保证了类的唯一性。我们可以...

    jvm调优实战经验

    - **CMS(Concurrent Mark Sweep)GC**:并发标记清除,尽可能减少STW(Stop-The-World)时间,适合响应时间敏感的应用。 - **G1(Garbage-First)GC**:新一代的垃圾回收器,目标是整体暂停时间可预测,适合...

    JVM Monitor

    - **GC暂停时间**:关注垃圾收集过程中的暂停时间(Stop-The-World),过长的暂停可能影响应用响应速度。 3. **线程分析** - **线程状态**:监控JVM中的所有线程,展示它们的状态(如运行、等待、阻塞等),有助...

    JVM体系结构与GC调优

    - 实际应用中的GC问题诊断,例如内存泄漏、长时间的Full GC、Stop-the-world事件等。 - 通过调整JVM参数解决性能问题的实例。 通过深入学习JVM体系结构和GC调优,开发者可以更好地理解和控制Java应用的内存使用,...

    深入理解JVM & G1 GC

    1. 并发标记:G1采用了Stop-the-world的并发标记阶段,减少暂停时间。 2. 增量式并发模式:在标记过程中,G1会分成多个步骤,逐步进行,减少长时间暂停。 3. 年老代优先:G1会优先处理年老代的垃圾,因为这些对象...

    JVM调优,GC算法汇总

    它在一个线程中执行GC操作,因此在GC过程中会暂停应用执行(Stop-The-World)。 2. **并行GC(Parallel GC)**:也称为吞吐量优先GC,它在多线程环境中运行,提高了GC效率,减少了整体运行时间,但STW仍然存在。 3...

    JVM垃圾回收器和内存分配策略.zip

    3. **Concurrent Mark Sweep (CMS) GC**:这种垃圾回收器尝试并发地执行大部分垃圾回收操作,以减少"Stop-the-world"事件。它适合响应时间敏感的应用。 4. **G1 (Garbage-First) GC**:G1是一种并行和并发的垃圾...

    在JVM5.0中调配Garbage Collection

    例如,在需要处理大规模数据量或高并发的应用程序中,用户可能会遇到频繁的垃圾收集暂停(stop-the-world pauses),这会影响到应用程序的响应时间和整体性能。 #### 2. Ergonomics(工效学) 工效学是指通过调整...

    JVM历史发展和内存回收笔记.rar

    3. **CMS(Concurrent Mark Sweep)GC**:并发标记清除,减少STW(Stop-the-World)暂停时间。 4. **G1(Garbage-First)GC**:目标是实现低延迟,能够预测和控制垃圾收集暂停时间。 **方法的出入栈与栈上分配** ...

    JVM常用参数设置

    - `-XX:+UseConcMarkSweepGC`:启用并发标记扫描垃圾收集器,减少STW(Stop-The-World)时间。 4. **G1 GC**: - `-XX:+UseG1GC`:启用G1垃圾收集器,提供更好的响应时间和可预测的暂停时间。 三、性能调优参数 ...

    jvm gc

    - **CMS GC**:并发标记清除,尽量减少STW(Stop-The-World)时间,提高应用响应速度。 - **G1 GC**:基于Region的垃圾收集器,目标是实现低延迟的垃圾收集,适合大型系统。 4. **垃圾收集算法**:主要有四种基本...

    JVM 参数汇总.pdf

    13. **XX:+UseCMSCompactAtFullCollection**: 开启后,Full GC后会进行碎片整理,但会导致"Stop the World"事件。 14. **XX:CMSFullGCsBeforeCompaction**: 指定执行多少次Full GC后进行一次内存碎片整理,默认为0...

    JVM 基础 JAVA 并发 JVM 性能调优 LeetCode 算法 .......

    5. STW(Stop-The-World) STW 是一种状态,在垃圾回收算法执行过程中,需要将 JVM 内存冻结的状态。在 STW 状态下,JAVA 的所有线程都是停止执行的,GC 线程除外,native 方法可以执行,但是不能与 JVM 交互。 6....

    JVM、GC详解及调优_jvm_JVM、GC详解及调优_

    3. ** CMS(Concurrent Mark Sweep)GC**:并发标记清除,减少STW(Stop-The-World)时间,提高应用响应性。 4. ** G1(Garbage-First)GC**:目标是达到更可控的暂停时间和可预测的内存使用。 GC调优主要包括以下...

    JVM&g1gc;带书签,完整版本

    1. **并行与并发**:G1能与其他线程并发工作,减少STW(Stop-the-World)事件,提高应用的响应速度。 2. **分代收集**:虽然G1没有明确的新生代和老年代,但它仍然采用了类似的理念,根据对象的存活周期将Region划分...

Global site tag (gtag.js) - Google Analytics