gpt4 book ai didi

java - 使用 Jhat 堆内置对象

转载 作者:行者123 更新时间:2023-11-29 06:12:33 25 4
gpt4 key购买 nike

谁能举例说明如何在 select 语句中使用 heap.heapForEachClass?如果您可以提供一些包含不同查询示例的链接(当然除了 oqlhelp 页面中的链接 :) )

最佳答案

我不认为 heap.forEachClass() 应该用在 select 语句中,至少不能直接使用。考虑它不返回任何东西的事实:

var result=heap.forEachClass(function(it){return it;});
typeof result
//returns undefined

jhat 和 VisualVM 中使用的 OQL 确实支持普通的 JavaScript,就像我在上面使用的“查询”一样。我相信 heap.forEachClass() 在 JavaScript 样式查询或选择类型查询中的 JavaScript 函数中有更多用途。

也就是说,我不知道为什么存在这个函数,因为 heap.classes() 枚举更易于使用,无论是选择样式查询还是纯 JavaScript 查询。

您甚至可以使用以下 JavaScript 函数重新创建与 heap.forEachClass() 相同的功能:

function heapForEachClass(func){
map(heap.classes(),func)
return undefined;
}

我可以为您提供的任何示例查询都可能使用 heap.classes() 更容易编写。例如,您可以使用 heap.forEachClass() 来获取所有类的列表:

var list=[];
heap.forEachClass(function(it){
list.push(it);
});
list

但这比你用 heap.classes() 做的要复杂得多:

select heap.classes()

或者只是

heap.classes()

关于java - 使用 Jhat 堆内置对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com