我已经创建了Java项目。在这个项目中,我使用了文件创建,删除操作来使用文件处理程序进行文件操作。所以我需要在调试项目时查看那些文件处理程序。我尝试按照命令 JPS,JSTACK 等进行操作。这些工具正在显示进程ID,类名,程序包名。

但是我需要知道每个类的实际功能,例如对象创建,文件创建,删除对象等。
Windows是否有可用的工具?

最佳答案

使用-XX:+PrintCompilation可以为您提供帮助。
-XX:+PrintCompilation标志输出看起来像这样:

1  sb   java.lang.ClassLoader::loadClassInternal  (6 bytes)
2  b    java.lang.String::lastIndexOf  (12 bytes)
3  s!b  java.lang.ClassLoader::loadClass  (58 bytes)

标志对应于:
b    Blocking compiler (always set for client)
*    Generating a native wrapper
%    On stack replacement
!    Method has exception handlers
s    Synchronized method

More details

另外,也许您可​​以尝试使用javamelody监视您的应用程序。

以下是一些屏幕截图:

09-15 23:22