开发者社区> 问答> 正文

Java性能优化:Stop-the-World耗时过长怎么优化?

Java性能优化:Stop-the-World耗时过长怎么优化?

展开
收起
我是小美女 2021-11-01 10:36:17 396 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,长时间的stop-the-world通常是由于使用了不恰当的GC选项或者不正确的应用实现所致。通常可以通过分析工具(profiler)或者堆dump的结果判断导致stop-the-world的原因。也就是说可以通过检查堆中对象的类型和数量判断问题原因。如果有过多非必须对象存在,则需要修改应用代码优化实现。如果在创建对象过程中没有明显的问题,则需要调整GC选项。

    为了把GC选项调整到恰当的设置,你需要有足够长时间的GC日志,并从中找出在哪种状况下出现了stop-the-world。关于选择合适GC选项的具体细节,可参考Java 垃圾回收的监控。

    2021-11-01 10:39:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载