我正在分析几个堆转储,并且对从堆转储中获取 JVM 正常运行时间(或启动时间)的方式感兴趣。使用 Eclipse 内存分析器,我可以轻松获取系统属性和类路径,但无法找到正常运行时间的方法。
最佳答案
您可以尝试搜索sun.util.calendar.ZoneInfoFile
类,它包含long CURRT
字段。它的值与 VisualVM 中的 JVM 启动时间相匹配(在我的例子中,至少与 Oracle JVM 相同):
Type|Name |Value
---------------------
long|CURRT|1578570465
---------------------
The epoch converter说现在是 2020/1/9 6.47 am EST (GMT-5)
,这是我启动 Java 应用程序的时间。为了以防万一,hprof
文件在几分钟后(7.03 am
)创建。
关于java - 从二进制堆转储中提取 JVM 正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59663415/