了解 JProfiler 线程

问题描述

我正在开发一个 Spring Batch 应用程序,它从 Oracle 数据库获取数据。它包含大约 20L 的数据。我实现了 AsynchronousTaskExecutor,并发限制为 20,节流限制为 10。对于数据源,它是 - spring.datasource.max-active=50

以下是我的应用程序的线程图 (jprofiler)。它显示了处于阻塞和等待状态的更多线程。我想明白为什么会这样。另外,如何提高批处理的性能

enter image description here

解决方法

您必须使用“监视器和锁定”部分中的视图来获取有关锁定部分的更多信息。如果您在那里记录监视器,线程视图(在您的屏幕截图中)将有工具提示,其中包含有关等待和阻塞状态的堆栈跟踪。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...