VisualVM v1.4.4 中的 OQL - 获取类的字段名称

2024-06-20

我想执行 OQL 查询 https://htmlpreview.github.io/?https://raw.githubusercontent.com/visualvm/visualvm.java.net.backup/master/www/oqlhelp.html在 VisualVM (v1.4.4) 中检索对象的(非静态)字段名称。

OQL 文档描述了heap.findClass(className)。这将返回一个对象,其中包括fields属性(字段名称数组)。

当我执行以下 OQL 时...

heap.findClass('java.io.ByteArrayInputStream').fields;

...它返回一个包含 4 个字段对象的数组 (ByteArrayInputStream 有 4 个字段 https://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayInputStream.html - buf, count, mark, and pos- 我假设这些是正在返回的内容):

org.netbeans.lib.profiler.heap.HprofField@56de8c
org.netbeans.lib.profiler.heap.HprofField@56de95
org.netbeans.lib.profiler.heap.HprofField@56de9e
org.netbeans.lib.profiler.heap.HprofField@56dea7

如果我然后尝试操作这个数组,例如访问每个字段的name and signature属性(如 OQL 文档中所述),我没有得到任何结果。我什至无法获得数组的长度。例如:

heap.findClass('java.io.ByteArrayInputStream').fields.length;

and:

heap.findClass('java.io.ByteArrayInputStream').fields[0];

上面两个语句都返回<no results>.

我究竟做错了什么?可能是一些基本的东西。我不太熟悉 JavaScript,也不熟悉 VisualVM 中数据的显示方式。


你需要使用map() https://htmlpreview.github.io/?https://raw.githubusercontent.com/visualvm/visualvm.java.net.backup/master/www/oqlhelp.html#map功能。以下 OQL 检索字段名称ByteArrayInputStream class:

select map(heap.findClass('java.io.ByteArrayInputStream').fields, 'it.name')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VisualVM v1.4.4 中的 OQL - 获取类的字段名称 的相关文章

随机推荐

  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 如何在C Sharp中使用unity3d从url下载文件并保存在位置?

    我正在从事 unity3d 项目 我需要从服务器下载一组文件 我使用 C 编写脚本 经过一个小时的谷歌搜索后 由于文档不完善 我还没有找到解决方案 谁能给我从 url 下载文件并将其保存在 unity3d 中的特定位置的示例代码 Unity
  • OpenCV OpenNI 校准kinect

    我使用 home 通过 kinect 进行捕捉 capture retrieve depthMap CV CAP OPENNI DEPTH MAP capture retrieve bgrImage CV CAP OPENNI BGR IM
  • Flutter:带有嵌套导航的底部导航栏,并在选项卡更改时恢复根页面

    我是 Flutter 开发的新手 我已经阅读了多个教程来了解底部导航栏 我已经尝试过这些教程 但无法达到我的要求 我遵循的教程 https codewithandrea com articles multiple navigators bo
  • 无法在 Swift 中对闭包进行弱引用

    Update 我试着不弱化地写一下 好像也没有漏的情况 所以也许这个问题已经没有必要了 在 Objective C ARC 中 当你想让一个闭包能够在闭包内部使用它自己时 该块不能捕获对自身的强引用 否则它将是一个保留循环 因此您可以使闭包
  • IE7 显示问题:菜单中的表格

    我写了一个菜单样式 在 IE8 FF3 6 GC7 中运行良好 现在的问题是 我的老板希望它甚至可以在 IE7 上运行 我真的很努力地让它在 IE7 上运行 但无法获得相同的外观 menu css a outline none menu m
  • 选中/取消选中所有复选框

    我见过很多选中 取消选中所有复选框的脚本 但大多数人并不尊重这一点 如果我使用 全部选中 复选框切换所有复选框 然后取消选中列表中的单个复选框 则 全部选中 复选框仍处于选中状态 有没有一种优雅的方式来处理这种情况 checkAll cli
  • 解析带下划线的 SQL Server 数字文字

    我想知道它为什么有效以及为什么它不返回错误 SELECT 2015 11 Result 11 2015 第二种情况 SELECT 2 1 a a 2 1 检查元数据 SELECT name system type name FROM sys
  • 如何在 JMeter 中显示实际循环计数

    我们可以通过以下方式显示实际线程 threadNum 实际循环计数有类似的东西吗 您可以使用 jm Thread Group idx 获取当前循环迭代 jm Thread Group idx 请注意 这是 JMeter 5 中一般增强功能的
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • 无法将 .ogg 文件转换为 .mp3 或其他文件格式

    我正在尝试将 ogg 音频文件转换为 mp3 或其他可以在 ios 设备中播放的音频文件格式 但 ogg 文件没有被转换为其他格式 如 mp3 和 caf 我正在 Android 设备中测试转换 这是我的 ffmpeg 命令参数 Comma
  • CDATA 真的有必要吗?

    我经常使用内联 Javascript 通常是在我制作的 WordPress 主题中 我没有听说过将内联 Javascript 包装在 直到几个月前 几年来我一直在以相当的能力水平做这些事情 我用谷歌搜索了一下 听说人们使用它是因为他们的 J
  • 从 Firefox 33.0.2 中的 javascript 清除 ssl 客户端证书状态(已删除专有 window.crypto)

    我正在寻找一种方法来清除 Firefox 中的 SSL 客户端证书缓存 作为一种 注销 功能 以便服务器在我下次连接到服务器时不再通过客户端证书识别我 解决方案来自从 JavaScript 清除 ssl 客户端证书状态 https stac
  • C#:编译表达式时已添加具有相同键的项目

    好吧 这是一个棘手的问题 希望这里有一位表达大师能够发现我在这里做错了什么 因为我只是不明白 我正在构建用于过滤查询的表达式 为了简化这个过程 我有几个Expression
  • 生成具有固定数字长度的随机数?

    我正在生成随机数 int randomID arc4random 3000 但我想生成至少 4 位数字的随机数 如 1000 2400 1122 我想知道 Objective C 的代码 请尝试 生成数字 1000 9999 int ran
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • XMLSerialization:参数对象“Sw”的类型不是原始类型

    我正在尝试将对象序列化为 XML 文件 但收到上述错误 问题似乎出在包含基类列表但由从基类派生的对象填充的对象上 示例代码如下 public class myObject public myObject this list Add new
  • 如何使 Yard `@macro` 应用于多个文件

    如果我有在one file下列 module Something class Resource Defines a new property param String name the property name param Class t
  • VisualVM v1.4.4 中的 OQL - 获取类的字段名称

    我想执行 OQL 查询 https htmlpreview github io https raw githubusercontent com visualvm visualvm java net backup master www oql