JVM
文章平均质量分 89
rchmin
持续学习是作为技术人保持竞争力的唯一方法!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadLocal内存泄漏机制解析
ThreadLocal内存泄漏机制源于其设计权衡:Entry的key为弱引用(防止ThreadLocal对象无法回收),value为强引用(保证数据可靠性)。当ThreadLocal对象被回收后,key为null的Entry会导致value无法自动释放。虽然get/set/remove操作会触发清理,但最佳实践是显式调用remove(),尤其在线程池场景中。这种设计通过弱引用key减轻泄漏范围,但核心问题仍是未及时清理的强引用value。开发者应养成remove习惯,避免内存泄漏。原创 2025-12-30 23:11:51 · 914 阅读 · 0 评论 -
系统启动频繁Full GC问题排查与优化
摘要:Java应用启动时频繁FullGC常见原因包括堆内存过小、大对象/内存泄漏、元空间配置不当及GC参数不合理。排查步骤:1)获取并分析GC日志;2)使用jstat/VisualVM等工具监控;3)分析堆内存dump;4)审查启动代码。解决方案需调整JVM参数、优化代码和延迟初始化。系统可能勉强启动但存在严重性能风险,建议立即解决以避免生产环境故障。关键要增大堆内存、定位问题代码并优化内存使用。原创 2025-12-23 00:32:44 · 671 阅读 · 0 评论 -
JVM内存结构与Java内存模型的区别
摘要:JVM内存模型实际上包含两个不同概念:Java内存模型(JMM)和JVM内存结构。JMM是并发编程规范,定义了线程间共享变量的可见性、原子性和有序性,涉及volatile、synchronized等关键字。JVM内存结构则是运行时数据区的划分,包括堆、栈、方法区等内存区域。前者解决多线程并发问题,后者处理内存分配和回收。日常讨论中"JVM内存模型"多指后者,但在并发场景下应明确区分这两个概念。原创 2025-12-15 09:15:00 · 830 阅读 · 0 评论 -
JVM 各区域 OutOfMemoryError 全面解析
摘要:JVM不同内存区域触发OutOfMemoryError的原因各不相同。堆内存OOM主要由内存泄漏或数据量过大导致;元空间OOM多因动态类加载;虚拟机栈OOM常因线程数过多;直接内存OOM与NIO使用不当相关;GC效率低下OOM则是内存泄漏的典型症状。诊断时应结合错误信息,使用jmap、jstack等工具分析,并合理配置-Xmx、-Xss等参数。建议开启HeapDumpOnOutOfMemoryError参数以便获取问题现场快照。原创 2025-11-26 22:47:50 · 609 阅读 · 0 评论 -
JVM垃圾回收算法详解
JVM垃圾回收机制主要包括对象存活判定和垃圾收集算法。存活判定采用可达性分析算法,通过GC Roots判定不可达对象。垃圾收集算法分为:标记-清除(简单但产生碎片)、标记-复制(高效但浪费空间)、标记-整理(无碎片但耗时)。现代JVM采用分代收集思想,新生代使用复制算法,老年代使用标记-清除或整理算法。主流收集器如G1、ZGC等根据不同性能目标组合这些算法,平衡吞吐量和延迟。理解垃圾回收需要掌握从判定到清理的完整流程及算法适用场景。原创 2025-12-10 09:30:00 · 615 阅读 · 0 评论 -
Mac电脑下 Idea 修改内存参数不起作用的解决方法
摘要:针对IntelliJ IDEA运行多项目时内存不足的问题,本文解析了Xmx参数调整失效的原因及解决方案。常见误区是修改了错误的配置文件(如bin/idea.vmoptions),实际需通过启动日志确认有效路径(如用户目录下的Preferences配置)。可通过右下角内存指示器验证设置是否生效,核心参数为-Xms(初始内存)、-Xmx(最大内存)和-XX:ReservedCodeCacheSize。原创 2020-05-30 11:08:31 · 7873 阅读 · 3 评论 -
JVM 内存问题排查命令梳理
本文系统介绍了JVM内存问题排查的核心工具和流程。主要内容包括:1)基础信息获取命令(jps、jinfo);2)内存与GC监控命令(jstat);3)内存快照分析命令(jmap);4)线程分析命令(jstack);5)可视化工具(jcmd、jvisualvm)。重点讲解了排查思路:从现象确认到数据收集、分析定位和验证解决。文章还提供了实战排查示例,并总结了各命令的使用场景和生产环境适用性,其中jstat是首选监控工具,jmap-histo用于快速侦查,HeapDump用于深度分析。原创 2025-11-27 23:42:50 · 566 阅读 · 0 评论
分享