Java:监视静态字段状态

标签 java jvisualvm

我有一个正在运行的 JVM。对于时间 t0 和 t1 的 2 个不同时刻,我想知道所有类的所有静态字段的值在 t1 与 t0 时如何变化。

我想到的解决方案:

  1. 监控/调试/分析所有静态字段写入访问权限。
  2. 比较在 t0 和 t1 拍摄的 2 个内存快照,以找出字段值的差异。我可以访问 Java VisualVM 和 YourKit 分析器。

我无法找到上述任一问题的答案。

如果可能的话,实现我的目标的最佳方法是什么?

最佳答案

使用 java 调试器,您应该能够在字段值上设置断点,以便每当值更改时调试器就会中断。例如。 Eclipse java调试器有这样的功能(右键单击该字段,选择“切换断点”)。

编辑:如果您想要更多控制(例如编程控制),您可以使用 Btrace 运行您的程序脚本。这些是使用非常精简的 API 的普通 Java 程序,并连接到 JVM。

关于Java:监视静态字段状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28627546/

相关文章:

apache-camel - Hawt.io 阻止 Jvisualvm 连接到 JVM

java - 通知一系列事件完成的监听器(启动同步服务)

java - 更改 JComboBox 的内容

java - 最后一次单击按钮后重置计数器 + n 秒

java - jvisualvm 不显示线程选项卡

netbeans - 尝试编译 JVisualVM 时构建失败

java - Spring事务抛出异常后不回滚

java - 检查jsp是否包含两次

VisualVM 报告

java VisualVM 无​​法看到本地 JVM 进程