草庐IT

java - 分析堆转储,Map#size() 不是一个函数?

得到这个奇怪的错误:javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:TypeError:size不是一个函数,它是空的。(#1)在VisualVM上分析堆转储并运行此OQL查询时:select{map:x}fromjava.util.concurrent.ConcurrentHashMapxwherex.size()问题出在where子句上,虽然Map显然有一个size方法,但不知何故它不起作用。 最佳答案 @ruakh的回答非常好

java - 用于计算对象匹配条件的 OQL 语法

如何使用OQL语法对EclipseMAT中的对象进行计数?这不起作用:SELECTcount(a)FROMorg.hibernate.engine.EntityEntryaWHERE(toString(a.entityName)="my.pojo")(我想统计加载到内存中的hibernatepojos的数量)必须有一种非常快速的方法...感谢您帮助我! 最佳答案 SELECTtoString(entry.entityName)FROMorg.hibernate.engine.EntityEntryentryWHERE(toStrin

java - 增加 jvisualVM OQL 结果集的最大大小

我有一个内存转储文件,其中包含近5000个特定对象的实例。这些对象将被写入数据库,而我这样做的方式是在jvisualvm中编写一个OQL查询以生成一个字符串,该字符串将用作SQL插入,例如选择“插入交易(id,tradeNumber)值("+x.id+","+x.tradeNumber+");"来自com.test.application.TradeObjectx;当我通过OQL运行它时,我得到这样的结果集-insertintotrades(id,tradeNumber)values(1,12345);insertintotrades(id,tradeNumber)values(2,1

java - 如何在 Eclipse 内存分析器工具中将 @retainedHeapSize 与 oql 求和

你用过eclipse的MAT(MemoryAnalyzerTool)吗?它真的很酷。(1.5G堆转储文件killjhat,ibm的带有OOME的堆转储分析器)。MAT生动、快速、美观且强大。不知道ehcahcekey的内存大小是多少,下面写oql。SELECTc.key.@retainedHeapSizeFROMnet.sf.ehcache.store.compound.HashEntryc不幸的是,像sum()、max()、min()这样的组函数并不存在。我将总结果行(大约60,000)导出到excel文件并在excel表中求和。您是否有关于使用组函数(如sum())的提示或隐藏(?

java堆分析与oql : Count unique strings

我正在对现有的java软件进行内存分析。oql中是否有等效的sql'groupby'来查看具有相同值但不同实例的对象的计数。选择计数(*)来自java.lang.Strings按s.toString()分组我想获得一个重复字符串的列表以及重复的数量。这样做的目的是查看大量案例,以便可以使用String.intern()对其进行优化。例子:"foo"100"bar"99"lazyfox"50等等…… 最佳答案 以下内容基于PeterDolberg的回答,可用于VisualVMOQL控制台:varcounts={};varalready