java - jhat OQL AND in where 子句

标签 java jhat

如何在 jhat OQL where 子句中执行连词 [AND]?

我想这样做:

select s from sun.security.x509.X500Name s where  s.canonicalDn !=null and    
/tiberium/(s.canonicalDn.toString())

也就是说,我想在其 canonicaldn 中找到所有包含 appTrust 的 X500Name。我需要空检查,因为某些 canonicaldn 可能为空 [并且 jhat 在这种情况下会在 toString 处引发空指针异常]。

但是字面上的“和”不起作用。

顺便说一句,我使用过滤功能解决了这个问题:

select filter(heap.objects("sun.security.x509.X500Name"), isTiberium);

function isTiberium(s) {  
    return s.canonicalDn !=null && /tiberium/(s.canonicalDn.toString());  
}

最佳答案

我发现“and”是&&,因为那是javascript的and运算符。正确的表达方式很简单:

select s from sun.security.x509.X500Name s where  s.canonicalDn !=null &&    
/tiberium/(s.canonicalDn.toString())

关于java - jhat OQL AND in where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833353/

相关文章:

java - 是否有运行时代理创建库支持保留代理类的注释?

java - 如何在 JavaFX 中混合 StackedBarChart 和 LineChart?

java - 如何在 URL 命中时打开子目录的 HTML 页面

java - Thymeleaf Spring启动-输入Localdate

java - Ubuntu 上无法上传文件

java - 为什么 GC 不收集我的对象?

java - 有什么方法可以分析截断的 Java 堆转储(hprof 文件)?

java - Java 1.6.0_24 中 'unique' 的 OQL 'jhat' 函数出现问题