get static fields of a class in a heap dump in OQL
-
09-10-2019 - |
Question
I have a heap dump and I'm using Eclipse MAT, though I suppose this should work through visualvm or whatever OQL client.
We can select fields of all instances of a class by doing something like
select s.field1, s.field2 from org.me.MyClass
... but this is restricted to member variables, and to types with instances.
How can select the static fields of a class with no instances?
This is somewhat related to this other question.
Solution
To access static field 'props' of class java.lang.System you can use (in VisualVM)
select heap.findClass("java.lang.System").statics.props
select heap.findClass("java.lang.System").props
OTHER TIPS
This is a bit hackish, but works in MAT:
SELECT c.SIZE
FROM INSTANCEOF java.lang.Class c
WHERE c.@displayName.contains("class java.lang.Integer ")
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow