1 对象在堆
2 串行收集器
特点:
a) 最古老,最稳定
b) 效率高
c) 可能会产生较长停顿
d) 使用参数 -XX:+UseSerialGC 来启用,启用后,新生代对象采用复制算法,老年代对象采用标记-压缩算法
执行流程(单线程执行):
3 并行收集器
a) 使用如下参数开启:
-XX:+UseParNewGC
开启后,新生代并行回收,老年代串行回收,因此仅影响新生代的收集。
b) 多线程需要多核支持
c) 采用复制算法
d) 使用参数 -XX:ParallelGCThreads限制线程数量
执行流程(多线程执行):
4 CMS收集器
......
5 为减轻GC压力,我们需要注意什么:
a) 软件如何设计架构
b) 代码如何写
c)堆空间如何分配
6 GC参数整理:
-XX:+UseSerialGC:在新生代和老年代使用串行收集器 -XX:SurvivorRatio:设置eden区大小和survivior区大小的比例 -XX:NewRatio:新生代和老年代的比 -XX:+UseParNewGC:在新生代使用并行收集器 -XX:+UseParallelGC :新生代使用并行回收收集器 -XX:+UseParallelOldGC:老年代使用并行回收收集器 -XX:ParallelGCThreads:设置用于垃圾回收的线程数 -XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器 -XX:ParallelCMSThreads:设定CMS的线程数量 -XX:CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发 -XX:+UseCMSCompactAtFullCollection:设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片的整理 -XX:CMSFullGCsBeforeCompaction:设定进行多少次CMS垃圾回收后,进行一次内存压缩 -XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收 -XX:CMSInitiatingPermOccupancyFraction:当永久区占用率达到这一百分比时,启动CMS回收 -XX:UseCMSInitiatingOccupancyOnly:表示只在到达阀值的时候,才进行CMS回收
g干货甚少.....
相关推荐
合理的GC策略和参数调整对于提高Java应用的性能至关重要。理解不同GC算法的特点和适用场景,可以帮助开发者选择最适合特定应用场景的垃圾回收策略。同时,掌握JVM内存模型和垃圾回收器的工作原理也是进行有效调优的...
《JVM、GC详解及调优》是一份深入解析Java虚拟机(JVM)和垃圾收集(Garbage Collection,简称GC)的详细资料。本文将根据提供的信息,深入阐述JVM的工作原理,GC的机制以及如何进行JVM的性能调优。 首先,JVM是...
5. **GC日志分析**:通过分析JVM产生的GC日志,可以了解垃圾回收的效率和内存使用情况,从而调整参数以优化性能。 6. **内存泄漏检测**:关注长期未被释放的对象,可能暗示存在内存泄漏问题。开发者可以通过工具如...
4. **JVM参数调优**: - `-Xms` 和 `-Xmx`:设置堆内存的初始大小和最大大小。 - `-XX:NewRatio`:设定新生代与老年代的比例。 - `-XX:SurvivorRatio`:设定Eden区与Survivor区的比例。 - `-XX:+...
Java虚拟机(JVM)是Java程序运行的基础,它的配置参数和垃圾收集(GC)机制对于优化应用程序性能至关重要。本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数...
《JVM性能调优——JVM内存整理及GC回收》是针对Java开发人员的重要主题,尤其是在大型企业级应用中,确保JVM(Java虚拟机)的高效运行是至关重要的。本资料深入探讨了如何通过调整JVM内存设置和优化垃圾回收机制来...
JVM参数配置是优化Java应用程序性能的关键环节,通过调整这些参数,我们可以控制JVM的行为,包括内存分配、垃圾收集、类加载等方面。在本文中,我们将深入探讨Java虚拟机的参数配置及其对程序性能的影响。 首先,...
### Java JVM 参数 `-Xms`、`-Xmx`、`-Xmn`、`-Xss` 调优总结 #### 一、概述 本文档主要介绍Java虚拟机(JVM)中四个重要的参数:`-Xms`、`-Xmx`、`-Xmn` 和 `-Xss` 的含义、作用以及如何通过这些参数来优化JVM的性能...
3. **JVM参数调优**: - `-Xms` 和 `-Xmx`:设置堆内存初始大小和最大大小。 - `-XX:NewRatio`:新生代与老年代的比例。 - `-XX:SurvivorRatio`:Eden区与Survivor区的比例。 - `-XX:MaxHeapFreeRatio` 和 `-XX:...
3. **GC日志**:使用-XX:+PrintGCDetails和-XX:+PrintHeapAtGC输出详细信息。 4. **内存分配策略**:例如-XX:+UseConcMarkSweepGC选择CMS收集器,-XX:+UseParallelOldGC选择并行老年代收集器。 5. **类加载器优化**...
总的来说,《JVM故障排查指南》会引导读者深入理解JVM的内部机制,学习如何通过调整JVM参数、优化代码和利用监控工具来提升Java应用的性能。这份资料对于任何想要提升Java性能优化技能的人来说,都是一份宝贵的财富...
- **jinfo**:提供配置信息,如JVM参数,可以实时修改某些非安全的运行时参数。 - **jmap**:用于生成堆内存映射或dump文件,便于分析内存泄漏。 - **jhat**:分析堆dump文件,查找内存泄漏或对象引用问题。 2. ...
此外,JVM参数的设置也至关重要,例如堆大小、新生代和老年代的比例、GC策略等,都需要根据应用特性和资源状况进行合理配置。 总的来说,IBM JVM的深入理解和优化是提升Java应用性能的关键。这个压缩包中的IBM JVM....
JVM参数设置是优化Java应用性能的关键环节,它可以帮助我们控制JVM的行为,如内存分配、垃圾回收策略、线程调度等。下面将详细介绍一些重要的JVM参数及其作用。 1. 内存设置: - `-Xms` 和 `-Xmx`:这两个参数用于...
8. 虚拟机调优:JVM参数设置,例如堆大小、新生代与老年代的比例、GC策略选择等。 9. 载入源码分析:可能包含书中涉及的JDK源码解析,帮助读者深入理解Java标准库的实现。 总之,"jvm_code-master"这个压缩包为...
在深入学习Java虚拟机(JVM)的过程中,垃圾回收(GC)机制是必须掌握的关键知识点之一。GC的主要目的是回收不再使用的内存空间,为新的对象分配内存。在JVM中,垃圾回收器(Garbage Collector)扮演着至关重要的...
Java虚拟机(JVM)是Java程序运行的核心组件,它负责执行字节码并管理程序的内存。在Java中,垃圾回收(Garbage Collection, GC)...在实际开发中,我们可以通过配置JVM参数来调整垃圾回收行为,以满足特定的应用需求。
开发者可以通过调整JVM参数,如设置年轻代与老年代的比例、分配的Region数量、暂停时间目标等,来优化G1 GC的行为,从而达到更好的系统性能。 总之,《深入理解JVM & G1 GC》这本书为读者提供了理解JVM内存模型和G1...
3. **垃圾收集(GC)**:JVM的自动内存管理机制,包括新生代GC、老年代GC和全停顿GC。理解不同GC算法如Serial、ParNew、Parallel Scavenge、CMS、G1和ZGC的工作原理和应用场景,有助于减少垃圾回收带来的性能影响。 ...