
jvm
文章平均质量分 78
Java程序员 拥抱ai
我们只是站在ai肩膀上的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
加一个JVM参数,让系统可用率从95%提高到99.995%
本文针对一个高并发系统在内存索引切换时因GC压力大导致的不稳定问题,详细介绍了排查和优化过程。通过分析GC日志,定位到问题根因是索引在年轻代复制过程中耗时过长,导致系统抖动。基于此,作者提出了多种优化思路,包括让索引尽早晋升到老年代、直接分配到老年代、加速索引复制、升级GC等。经过多次实验和参数调整,最终通过设置MaxTenuringThreshold=0和AlwaysTenure等JVM参数,成功将索引复制次数从2次减少为1次,显著降低了GC暂停时间,系统成功率从95%提升至99.5%。此外,作者还提出了原创 2025-05-15 11:03:09 · 938 阅读 · 0 评论 -
Java并发编程深度解析与实践指南
本文介绍了Java并发编程的核心概念与实践方法。首先,通过线程生命周期示例展示了线程状态的变化,并讨论了线程安全问题及其解决方案,包括同步方法和ReentrantLock的使用。接着,介绍了线程池的配置与管理,以及JUC高级组件如CountDownLatch的应用。文章还通过电商库存管理案例展示了并发控制的实际应用,并提供了并发编程的最佳实践,如优先使用线程池、细粒度锁、ConcurrentHashMap和Atomic类等。最后,讨论了死锁预防策略,并建议结合性能监控工具和压力测试来验证并发方案的正确性。通原创 2025-05-14 08:50:38 · 327 阅读 · 0 评论 -
Java内存泄漏、CPU飙升排查
在Java应用开发中,内存泄漏和CPU飙升是两类高频出现的生产问题,也是常见的面试问题。这里通过一些demo进行实践。原创 2025-04-22 08:42:15 · 696 阅读 · 0 评论 -
JVM垃圾收集器详解与演进分析:为什么有这么多垃圾收集器?
JVM的垃圾收集器(Garbage Collector, GC)是自动管理堆内存的核心组件,通过回收无用对象释放内存。由于应用场景的多样性(如高吞吐、低延迟、大内存等),JVM提供了多种垃圾收集器,每种收集器在。在现代Java应用开发中,内存管理是性能优化的核心议题之一。JVM的垃圾收集器(GC)作为自动内存管理的“幕后引擎”,其设计直接影响应用的吞吐量、延迟和资源利用率。,在吞吐量、延迟和资源成本间找到最佳平衡点。未来仍会有新收集器出现,但这一原则不变。:技术演进并非简单替代,而是在。原创 2025-04-14 08:56:38 · 851 阅读 · 0 评论 -
Java应用堆内存与GC选择终极指南:让性能飞起来的核心配置
堆内存与GC选择是Java性能优化的“任督二脉”,需结合业务场景反复验证。:堆内存分配不合理,或GC收集器与场景不匹配!你是否遇到过这些“诡异”问题?原创 2025-04-10 13:30:07 · 419 阅读 · 0 评论 -
ZGC调优全解析:从核心原理到百万级流量生产实践,将GC停顿从5秒优化到200ms
ZGC是Oracle开发的低延迟GC,专为超大堆内存设计,目标是保持GC停顿时间不超过10ms。并发GC线程数设为12,建议值为总核数的1/4(32核机器取8-12)。弹性堆上限108GB(比Xmx大12.5%),允许ZGC临时超额使用内存应对突发流量,避免OOM。并行GC线程数设为24,建议值为总核数的3/4(32核机器取24)。-Xms: 初始堆内存设置为96GB(与最大值相同避免动态扩容带来的性能抖动):减少每秒新对象分配量(建议<100MB/s):控制老年代驻留集大小(建议<堆内存50%)原创 2025-04-08 19:33:56 · 953 阅读 · 0 评论 -
硬核防护!Spring Boot 代码混淆实战,彻底防止反编译泄露
代码混淆(Obfuscation)是一种常见且有效的防反编译技术,它通过重命名类、方法和变量,使得反编译后的代码难以理解,从而提高代码的安全性。常见的反编译工具,如 JD-GUI,可以轻松解析。代码混淆,防止源码被轻易反编译。代码混淆虽然不能完全杜绝破解,但能够大大增加反编译的难度,提高代码的安全性。代码安全是一个长期的挑战,开发者应综合运用多种手段,确保核心业务逻辑不被轻易泄露。文件,观察混淆后的代码,发现类名、方法名、变量名均已被替换为无意义的字符串。插件,实现代码混淆防护,确保应用的安全性。原创 2025-04-02 14:42:38 · 427 阅读 · 0 评论 -
G1 GC 调优实战:如何将 Full GC 频率降低 90%?
如果存在内存泄漏问题,可能导致对象无法被及时回收,从而引发 Full GC。今天,我们结合实际案例深入探讨 G1 GC 的调优策略,并通过代码示例展示如何显著降低 Full GC 的频率,帮助你的系统更高效地运行!通过以上调优策略,我们可以显著降低 Full GC 的频率,同时提升系统的稳定性和性能。参数,合理分配新生代和老年代的空间比例,避免对象过早晋升到老年代。建议根据业务需求调整。:大量对象晋升到老年代,导致老年代频繁触发 Full GC。:增大新生代比例,减少对象晋升频率,降低老年代压力。原创 2025-04-01 09:47:10 · 895 阅读 · 0 评论