Joe*_*ney 5 java eclipse heap oql eclipse-mat
我有一个堆转储,并且正在使用Eclipse MAT,尽管我认为这应该通过visualvm或任何OQL客户端来工作。
我们可以通过执行以下操作来选择类的所有实例的字段
select s.field1, s.field2 from org.me.MyClass
Run Code Online (Sandbox Code Playgroud)
...但这仅限于成员变量和带有实例的类型。
如何选择没有实例的类的静态字段?
这与另一个问题有关。
这有点hackish,但适用于MAT:
SELECT c.SIZE
FROM INSTANCEOF java.lang.Class c
WHERE c.@displayName.contains("class java.lang.Integer ")
Run Code Online (Sandbox Code Playgroud)
要访问类java.lang.System的静态字段“ props”,可以使用(在VisualVM中)
select heap.findClass("java.lang.System").statics.props
select heap.findClass("java.lang.System").props
Run Code Online (Sandbox Code Playgroud)