在OQL中的堆转储中获取类的静态字段
-
09-10-2019 - |
题
我有一个堆转储,我正在使用Eclipse Mat,尽管我想这应该通过VisualVM或任何OQL客户端工作。
我们可以通过做类似的事情来选择类的所有实例的字段
select s.field1, s.field2 from org.me.MyClass
...但这仅限于成员变量,以及具有实例的类型。
如何在没有实例的情况下选择类的静态字段?
这与 另一个问题.
解决方案
要访问类java.lang.system的静态字段“ props”,您可以使用(在VisualVM中)
select heap.findClass("java.lang.System").statics.props
select heap.findClass("java.lang.System").props
其他提示
这有点刺,但在垫子中起作用:
SELECT c.SIZE
FROM INSTANCEOF java.lang.Class c
WHERE c.@displayName.contains("class java.lang.Integer ")
不隶属于 StackOverflow