Skip to content
This repository has been archived by the owner on Mar 14, 2019. It is now read-only.
zhongl edited this page Jun 13, 2012 · 21 revisions

FAQ

SimpleName是指什么?

Class.getName()结果中除去包名的部分, 例如java.lang.StringSimpleNameString.

我想知道一个类的来源文件路径?

执行 loaded SimpleName 的结果中 -> 右侧的路径就是此类加载的来源.

loaded命令支持SimpleName自动提示或补全吗?

支持, 键入你期望提示的SimpleName的首字母, 再键入Tab则会罗列全部SimpleName的候选列表.

若列表过长则会显示列表的总数, 并询问你是否要查看, 键入y查看, 键入n取消.

若列表只有一个时, SimpleName会自动补全.

我想知道一个类是被哪些类加载器加载过?

执行 loaded -h SimpleName 的结果中, 从第二行显示的是第一行类的类加载器, 第二行之后的每一行显示的是上一行的父类加载器.

我想知道一个方法在一段时间内是否被调用过?

假定一段时间是30 秒, 从开始时间起, 执行 trace -t 30 SimpleName.methodName 的结果实时摘要中, 每行的第三列数字表明了调用的次数.

若不指定-t, 则默认为10秒;

默认情况下, 每行显示的间隔时间为1秒钟;

其余列的含义, 请见使用指南.

更多选项, 请执行help trace

我想知道怎么改变trace实时摘要的显示间隔时间?

假定要指定的间隔时间为3秒, 执行 trace -i 3 SimpleName.methodName, 则实时摘要会每隔3秒显示一行最新的信息.

更多选项, 请执行help trace

我指定-t1000秒, 为什么时间还未到就结束了, 其中有提示Ended by overlimit?

trace在设计上为了尽可能减少对正在运行的java进程影响, 设定了-t-l两个选项来限制一次trace的周期. 出现上述情况, 是因为-l的默认值1000的条件已经达成, 导致trace过程自动结束. 若一定要trace足够长的时间, 请调整一个合适-l选项的值.

强烈建议trace的周期越短越好;

更多选项, 请执行help trace

Clone this wiki locally