【问题标题】:OQL syntax to refer to an object?引用对象的 OQL 语法?
【发布时间】:2015-12-24 19:06:00
【问题描述】:

我在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")

【问题讨论】:

    标签: visualvm oql


    【解决方案1】:

    我可能会对objectid(...) 使用技巧:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2020-02-24
      • 2010-12-04
      • 2019-11-27
      相关资源
      最近更新 更多