美文网首页
Android性能优化—MAT之OQL详解(三)

Android性能优化—MAT之OQL详解(三)

作者: 粗旷的码农 | 来源:发表于2018-07-16 21:12 被阅读0次

    OQL是Object Query Language的简写,即对象查询语言,OQL语法和关系型标准查询语言SQL的语法相似,只是增加了比如对象标识、复杂对象、操作、继承、多态性以及联系。
    SELECT

    1.SELECT * FROM java.lang.String

    2.SELECT toString(s), s.count, s.value FROM java.lang.String s (@为属性访问器,可以使用AS起个别名)

    3.SELECT AS RETAINED SET * FROM java.lang.String (使用**AS RETAINED SET **获得与选择对象相关联的对象集合)

    4.SELECT OBJECTS dominators(s) FROM java.lang.String s (**OBJECTS 关键字使得dominators **返回二维数组简化为一维对象列表)

    5.SELECT DISTINCT OBJECTS classof(s) FROM java.lang.String s (**DISTINCT **去重复)

    FROM

    1.SELECT * FROM "java/.lang/..*" (支持正则)

    2.SELECT * FROM java.lang.String

    3.SELECT * FROM 0xe14a100 (根据对象在堆转储快照中的地址查询)

    4.SELECT * FROM 3022(根据对象在堆转储快照中的地址ID)

    5.SELECT * FROM ( SELECT * FROM java.lang.Class c )

    6.SELECT * FROM ${snapshot}.getClasses()(使用属性访问器)

    7.SELECT * FROM INSTANCEOF java.lang.ref.Reference (**INSTANCEOF **会把指定类的子类也查询出来)

    8.SELECT * FROM OBJECTS java.lang.String (**OBJECTS **禁止OQL把查询范围解释为对象实例,上述结果为java.lang.String对应的Class)

    WHERE

    1.SELECT * FROM java.lang.String s WHERE s.count **>= **100

    2.SELECT * FROM java.lang.String s WHERE toString(s) **LIKE *".day"

    详情参考:http://help.eclipse.org/kepler/index.jsp,搜索OQL就有相关的内容显示出来

    相关文章

      网友评论

          本文标题:Android性能优化—MAT之OQL详解(三)

          本文链接:https://www.haomeiwen.com/subject/sjqkpftx.html