如何在Java中找到CPU密集型类?
2022-09-03 10:11:05
我有一个使用多线程的Java大程序。在某些情况下,程序开始使用我的八核系统的三个核心的100%。在正常使用中,该程序以1-2%的价格使用所有内核。如何找到重载内核的类?
我有一个使用多线程的Java大程序。在某些情况下,程序开始使用我的八核系统的三个核心的100%。在正常使用中,该程序以1-2%的价格使用所有内核。如何找到重载内核的类?
使用与 jdk-1.6.0_10 捆绑在一起的 jvisualvm 等探查器
最好的解决方案是使用分析器 - 这就是它们构建的目的,并且有一个很好的与Java 6捆绑在一起的解析器。
另一个(远非理想的解决方案)是在调试模式下在Eclipse IDE中运行程序(如果这是您使用的)。然后,您可以查看正在运行的线程。如果其中很多被暂停,那么没有的那个可能是你的罪魁祸首。强制它断开(从工具栏中),您可以看到它的位置。有很多机会,你会发现一个清晰的循环或忙于等待。