Visualvm 引用对象的OQL语法?

Visualvm 引用对象的OQL语法?,visualvm,oql,Visualvm,Oql,我在visualvmv1.3.8中找到了所需的对象: filter(heap.objects("java.lang.String"), "/hibernate\\.ejb\\.naming/(it.toString())") 它们显示为: java.lang.String#32669 - hibernate.ejb.naming_strategy_delegator java.lang.String#34021 - hibernate.ejb.naming_strategy java.lang

我在
visualvm
v1.3.8中找到了所需的对象:

filter(heap.objects("java.lang.String"), "/hibernate\\.ejb\\.naming/(it.toString())")
它们显示为:

java.lang.String#32669 - hibernate.ejb.naming_strategy_delegator
java.lang.String#34021 - hibernate.ejb.naming_strategy
java.lang.String#39522 - hibernate.ejb.naming_strategy_delegator
如何在OQL语法中引用结果集中的单个对象?我的尝试失败了:

select heap.findObject("java.lang.String#34021")
select heap.findObject("#34021")
select heap.findObject("34021")

我可以将技巧与
objectid(…)
结合使用:

然后使用类似于
heap.findObject(4077522088)
的语法重用id

map(filter(heap.objects("java.lang.String"),
           "/hibernate\\.ejb\\.naming/(it.toString())"),
    "{id: objectid(it), ref: it}")