
JVM
文章平均质量分 65
趁你还年轻_
星光不问赶路人,时光不负有心人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OOM都有哪些类型
OOM 的根本原因是JVM 内存区域不足或资源耗尽,需结合错误类型分析具体内存区域(堆、元空间、直接内存等)。排查时可通过以下步骤:1、确定 OOM 类型(通过错误日志)。2、使用工具分析(如jstatjmapVisualVMMAT3、调整 JVM 参数或优化代码逻辑。原创 2025-06-10 22:59:03 · 617 阅读 · 0 评论 -
JVM优化案例
通过调整新生代和老年代的内存分配比例、更换垃圾回收器以及启用自适应内存管理策略,成功解决了金融交易系统垃圾回收耗时过长的问题。这些优化措施不仅减少了垃圾回收的停顿时间,还提高了系统的整体性能和实时性。针对如何发现的垃圾回收耗时长的问题进行解答。原创 2025-06-08 14:32:11 · 618 阅读 · 0 评论 -
类加载器详解
职责:用户可以根据自己的需求实现自定义类加载器,用于加载特定的类文件。例如,从网络加载类文件、从加密文件中加载类文件等。特点:自定义类加载器可以通过继承类并重写findClass方法来实现。自定义类加载器的父加载器可以是应用程序类加载器或其他自定义类加载器。自定义类加载器可以通过继承类并重写findClass方法来实现。类加载器是Java运行时环境的重要组成部分,它负责将字节码文件加载到JVM的内存中,并将其转换为Class对象。类加载器采用层次结构和双亲委派模型,确保类的唯一性和安全性。原创 2025-06-08 13:48:14 · 735 阅读 · 0 评论 -
JAVA 对象的创建
Java 对象的创建是一个复杂的过程,涉及类加载、内存分配、初始化等多个步骤。通过合理使用对象创建的方式和优化手段,可以提高程序的性能和效率。原创 2025-06-07 22:32:27 · 579 阅读 · 0 评论 -
JVM方法逃逸
根据对象逃逸的范围,可以分为方法逃逸和线程逃逸。当对象被方法外部的代码引用,生命周期超出了方法的范围,那么对象就必须分配在堆中,由垃圾收集器管理。比如说创建的对象被返回,那么这个对象就逃逸出当前方法了。再比如说,对象被另外一个线程引用,生命周期超出了当前线程,那么对象就必须分配在堆中,并且线程之间需要同步。对象被另外一个线程引用了,发生了线程逃逸。原创 2025-03-23 21:55:50 · 476 阅读 · 0 评论 -
JVM中STW解析
STW是JVM垃圾回收的核心机制,其设计平衡了内存回收的准确性与应用性能。通过选择并发收集器、优化堆参数及安全点策略,可显著降低STW对系统的影响。原创 2025-03-18 21:49:30 · 376 阅读 · 0 评论 -
jmap命令详解
jmap(Java Memory Map)是 JDK 自带的工具,用于分析 Java 堆内存的分布和对象信息。以下是jmap。原创 2025-03-15 14:08:53 · 1326 阅读 · 0 评论 -
jstat 命令详解
jstat(JVM Statistics Monitoring Tool)是 JDK 自带的轻量级监控工具,用于实时采集 JVM 内存、GC 事件、类加载等运行状态数据,帮助开发者快速诊断性能瓶颈12。值从 70% → 85% → 95% 持续上升,可能存在内存泄漏13。显示各内存区域的使用百分比及 GC 事件统计,适合快速查看内存压力。:若 Eden 区快速填满(如每秒增加 200MB),可增大。显示各内存区域的具体容量(单位:KB)及使用量。(年轻代大小)降低 GC 频率35。原创 2025-03-15 13:59:35 · 441 阅读 · 0 评论 -
常用JVM调优命令
:集成化诊断工具(JDK 7+ 支持),支持查询 JVM 参数、生成堆/线程快照等。:列出当前系统中所有 Java 进程的进程 ID 和主类名称。:生成 Java 进程的线程快照,用于诊断死锁或线程阻塞问题。:实时监控内存、类加载和垃圾回收状态。关键词,查看持有锁的线程堆栈信息。:生成堆内存快照和对象分布统计。原创 2025-03-15 13:22:10 · 475 阅读 · 0 评论 -
jvm垃圾回收过程
新生代:主要采用复制算法,回收速度快,频率高,适合生命周期短的对象。老年代:主要采用标记-整理算法,回收速度相对较慢,频率低,适合生命周期长的对象。不同的垃圾回收器(如Serial、Parallel、CMS、G1等)在实现上述算法时会有一些差异,可以根据具体的应用场景选择合适的垃圾回收器。原创 2025-03-13 15:22:36 · 325 阅读 · 0 评论 -
垃圾回收器种类
此外,还有一些特定于新生代或老年代的收集器,如ParNew(适用于新生代,与Parallel Scavenge类似但实现有所不同,常用于需要CMS配合的场景)、●优点:注重吞吐量(即减少GC总时间),适用于后台处理任务和注重吞吐量的应用。○特点:支持 TB 级内存,STW 时间极短(<10ms),并发处理。●使用标记-复制算法(新生代)和标记-整理算法(老年代)。○适用场景:超大内存、超低延迟场景(如金融交易系统)。●并行、并发和分布式的垃圾收集器,适用于大型应用程序。原创 2025-03-13 15:02:02 · 258 阅读 · 0 评论 -
JVM配置参数解析
【代码】JVM配置参数解析。原创 2025-03-13 14:43:11 · 223 阅读 · 0 评论 -
JVM可视化监控工具
Java Mission Control:JMC 最初是 JRockit VM 中的诊断工具,但在 Oracle JDK7 Update 40 以后,就绑定到了 HotSpot VM 中。VisualVM:一个基于 NetBeans 的可视化工具,在很长一段时间内,VisualVM 都是 Oracle 官方主推的故障处理工具。集成了多个 JDK 命令行工具的功能,非常友好。JConsole:JDK 自带的监控工具,可以用来监视 Java 应用程序的运行状态,包括内存使用、线程状态、类加载、GC 等。原创 2025-03-13 14:41:12 · 216 阅读 · 0 评论 -
线上CPU100%及应用OOM的排查和解决过程
3.导出的堆快照信息可以看到哪里导致的OOM。2.使用命令导出pid进程相关的堆栈信息。1.检查服务器资源占用状况 命令top。原创 2025-03-13 14:21:24 · 155 阅读 · 0 评论