【发布时间】:2011-02-11 04:10:07
【问题描述】:
我正在尝试使用 jhat/OQL 来跟踪 Tomcat 容器中的内存泄漏。我想问的问题是:
“显示所有可以从 javax.servlet.http.HttpSession 访问的 foo.bar.Cacheable 类的实例(和子实例)”
我设法想出了以下内容,但这并没有显示 foo.bar.Cacheable 的子类(这很重要,因为这实际上是一个接口)。
select filter(reachables(s), "/foo.bar.Cacheable/(classof(it).name)") from javax.servlet.http.HttpSession s
我尝试了以下概念的各种排列,但不断收到错误(“foo”未定义)。
select filter(reachables(s), classof(it) instanceof foo.bar.Cacheable) from javax.servlet.http.HttpSession s
谁能帮我解决我在通过 OQL 提出这个问题时做错了什么?
【问题讨论】:
-
classof(it) 中的“它”是什么?
-
'it' 是由 filter(..) 方法隐式提供的过滤器变量,表示要接受/拒绝的项目。
标签: java memory-leaks heap-memory oql jhat