我认为我没有做过与多线程有关的任何事情。此外,如果我稍微修改第一部分(非常简单,如添加另一个for循环),CPU使用率也会有很大差异。为什么会这样?有点好奇谁在利用CPU消耗。
答案 0 :(得分:0)
这不一定是正在运行的代码与CPU使用率之间的直接比较,因为JVM将根据管理垃圾收集时该堆中的内容来调整CPU使用率。如果它突然上升到50%然后退缩,这可能是巧合,因为同时垃圾收集开始。
答案 1 :(得分:0)
您可以通过运行位于jdk bin文件夹中的jvisualvm.exe来获取更多详细信息。我不确定开箱即用的CPU使用信息有多少,但至少有一些插件可以为您提供CPU使用信息。根据david99world的回答,这也是一种查看堆使用情况的图形方式。