7

我有一个堆转储,我正在使用 Eclipse MAT,但我想这应该通过 visualvm 或任何 OQL 客户端工作。

我们可以通过执行类似的操作来选择类的所有实例的字段

select s.field1, s.field2 from org.me.MyClass

...但这仅限于成员变量和带有实例的类型。

如何选择没有实例的类的静态字段?

这与this other question有点相关。

4

2 回答 2

7

要访问 java.lang.System 类的静态字段“props”,您可以使用(在 VisualVM 中)

select heap.findClass("java.lang.System").statics.props
select heap.findClass("java.lang.System").props
于 2010-12-15T20:09:14.957 回答
6

这有点骇人听闻,但适用于 MAT:

SELECT c.SIZE
FROM INSTANCEOF java.lang.Class c
WHERE c.@displayName.contains("class java.lang.Integer ")
于 2012-03-26T17:56:10.370 回答