`

Memory Analysis Tool OQL 用例汇总及语法学习

阅读更多

典型用例

  • 获取所有对象:
    SELECT * FROM ${snapshot}.getClasses()
    SELECT * FROM (SELECT * FROM java.lang.Class)
  • 获取所有java.lang.Thread的对象及子对象:
    SELECT * FROM INSTANCEOF java.lang.Thread
  • 获取Thread的对象的引用,用于引用链分析:
    SELECT OBJECTS outbounds(t) FROM INSTANCEOF java.lang.Thread t WHERE toHex(t.@objectAddress).equals("0x40a35490")
  • 获取Thread的对象的objectId:
    SELECT t.@objectId FROM INSTANCEOF java.lang.Thread t 
  • 利用objectId查看对象的引用链:
    SELECT OBJECTS outbounds(t) FROM OBJECTS 411 t 
    
  • 获取所有根节点:
    SELECT OBJECTS ${snapshot}.getGCRoots() FROM OBJECTS 0x0
  • 根节点中的java.lang.String:
    SELECT t, t.@retainedHeapSize FROM java.lang.String t WHERE (t  IN  (SELECT OBJECTS ${snapshot}.getGCRoots() FROM OBJECTS 0x0 ))
  • 按线程级别分析内存占用(用于指导是否采用Thread-Local-Heap):
    SELECT t.@retainedHeapSize, toString(t) FROM INSTANCEOF java.lang.Thread t 
    
  • 获取某个对象的引用对象集合
    SELECT AS RETAINED SET * FROM OBJECTS 410
     

基本语法

  • 结构
    SELECT *
    FROM [ INSTANCEOF ] <class name>
    [ WHERE <filter-expression> ]
  • SELECT
  • FROM
  • WHERE
  • 内置函数调用
分享到:
评论

相关推荐

    MemoryAnalyzer 使用中文

    为了有效地检测和解决这些问题,Eclipse Memory Analyzer Tool(简称MemoryAnalyzer,MAT)应运而生。这款强大的分析工具提供了详细的内存分析功能,帮助开发者诊断和修复内存问题,提升应用性能。 MemoryAnalyzer...

    Eclipse Memory Analyzer (Mac版)

    Eclipse Memory Analyzer(MAT,全称Memory Analyzer Tool)是一款强大的Java内存分析工具,尤其在Mac平台上,它提供了独立于Eclipse环境的版本,方便开发者直接使用。MAT的主要目标是帮助开发者诊断和解决Java应用...

    MAT(Memory Analyzer Tool)

    MAT(Memory Analyzer Tool)工具是eclipse的一个插件,使用起来非常方便,尤其是在分析大内存的dump文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用OQL对象查询,...

    MemoryAnalyzerTool(MAT)win版64位

    MemoryAnalyzerTool(MAT),全称为Eclipse Memory Analyzer Tool,是一款由Eclipse基金会开发的强大的Java内存分析工具。它专为解决Java应用程序中的内存泄漏问题而设计,适用于各种操作系统,包括Windows 64位系统...

    MemoryAnalyzer(JDK8)-1.11.0.20201202-win32.win32.x86_64.zip

    Memory Analyzer Tool(MAT)工具是 eclipse 的一个插件(MAT 也可以单独使用),它分析大内存的 dump 文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用 OQL 对象查询,...

    MemoryAnalyzer(JDK11)-1.12.0.20210602-win32.win32.x86_64_.zip

    Memory Analyzer Tool(MAT)工具是 eclipse 的一个插件(MAT 也可以单独使用),它分析大内存的 dump 文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用 OQL 对象查询,...

    OQL基本教程(个人笔记)

    **OQL基本教程** 在IT领域,特别是在服务导向架构...通过学习这些内容,你应该能够开始在用友U9或其他支持OQL的环境中编写查询,有效地管理和操作对象数据。持续实践和探索,你将更加熟练地掌握OQL的高级特性和技巧。

    MemoryAnalyzerTool(MAT)linux版

    MemoryAnalyzerTool(MAT),全称为Eclipse Memory Analyzer Tool,是一款由Eclipse基金会开发的专业Java内存分析工具。它主要用于诊断和优化Java应用程序的内存消耗,帮助开发者识别和解决内存泄漏、过度的对象分配...

    MemoryAnalyzer-1.10.0.20200225-x86_64最新版.win32.x86_64.zip

    MAT(Memory Analyzer Tool)是由Eclipse基金会开发的一款强大的Java内存分析工具,主要用于诊断和分析Java应用程序的内存泄漏问题。标题中的"MemoryAnalyzer-1.10.0.20200225-x86_64最新版.win32.x86_64.zip"表明这...

    OQL应用指南

    OQL(面向对象查询语言)是一种专门针对对象数据库和对象关系数据库设计的查询语言。它允许开发者以面向对象的概念来执行数据库查询操作,类似于SQL用于关系型数据库的方式。在描述中提到,OQL使用类名、属性名来...

    MemoryAnalyzer-1.10.0_x86_64.zip

    4. **OQL (Object Query Language)**:允许用户编写查询来探索heap数据,寻找特定的内存模式。 5. **Shallow Heap / Retained Heap**:区分对象自身占用的内存(shallow heap)和由其间接保持的对象占用的内存...

    Macrobject OQL.NET 对象查询语言

    OQL.NET 是一套强类型的数据库对象查询语言 (OQL,Object Query Language),和 SQL 以及其它 OQL 不同的是,OQL.NET 基于宿主语言 (基于 C# 和 VB 等原生 .NET 语言而不是字符串)。OQL.NET 兼容 SQL-92 标准。  ...

    eclipse 内存分析工具(MAT) 1.2.1

    Eclipse内存分析工具(MAT,Memory Analyzer Tool)是一款强大的Java应用程序内存分析工具,它能够帮助开发者定位和解决Java应用中的内存泄漏问题。MAT 1.2.1是该工具的一个版本,提供了更稳定和高效的内存分析功能...

    MemoryAnalyzer-1.13.0.20220615-win32.win32.x86_64.zip

    《深入解析MemoryAnalyzer:JVM内存分析利器》 MemoryAnalyzer,简称MAT,是Eclipse基金会推出的一款强大的内存分析工具,其版本号为1.13.0.20220615-win32.win32.x86_64,专为Windows操作系统设计,支持32位和64位...

    MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86_64.zip

    MemoryAnalyzer,通常被称为MAT(Memory Analyzer Tool),是一款由Eclipse基金会开发的强大内存分析工具。该工具主要用于诊断Java应用程序的内存泄漏问题,帮助开发者理解和解决性能瓶颈,提升程序的运行效率。在...

    MemoryAnalyzer-1.10.0

    《深入解析Eclipse Memory Analyzer Tool (MAT) 1.10.0 for Mac》 Eclipse Memory Analyzer Tool(MAT)是一款强大的Java内存分析工具,它主要用于诊断和解决Java应用程序中的内存泄漏问题。MAT 1.10.0是专为Mac...

    MemoryAnalyzer.zip

    MAT,全称Memory Analyzer Tool,是由Eclipse基金会开发的一款开源工具,专为分析Java heap dump文件而设计。通过分析heap dump,开发者可以洞察应用程序的内存状况,找出内存泄漏、对象引用链过长等问题,从而优化...

    Eclipse memory analyzer

    Eclipse Memory Analyzer(EMA),通常被称为MAT(Memory Analyzer Tool),是一款强大的Java堆内存分析工具,由Eclipse基金会开发。这款工具对于诊断Java应用程序中的内存泄漏和优化内存使用情况至关重要。以下将...

    MemoryAnalyzer.rar.zip

    MAT,全称Memory Analyzer Tool,是由Eclipse基金会开发的一款免费且开源的内存分析工具。它专门用于分析Java heap dump文件,帮助开发者识别并定位内存泄漏,优化内存使用效率。MAT以其直观的用户界面、强大的分析...

    EclipseMemoryAnalyzer-x86_64

    Eclipse Memory Analyzer(MAT)是一款强大的Java内存分析工具,尤其适用于诊断和解决Java应用程序中的内存泄漏问题。这个工具是Eclipse基金会的一个项目,提供了一个直观的用户界面来帮助开发者深入理解堆内存的...

Global site tag (gtag.js) - Google Analytics