繁体   English   中英

Java详细类加载

[英]Java verbose class loading

我试图列出Java类加载器加载我的类的顺序。 如果我使用-verbose参数,它将列出它加载的每个接口/类,包括大量的接口,如Serializable,异常等。有没有办法调整这个输出所以它只显示在类中加载哪些类我的主要方法被定义为?

我想你最好的办法是做以下事情:

  • 一旦main方法开始并且在它结束之前输出一些固定文本。
  • 详细输出传递到文件中
  • 使用lessgrep之类的东西来查找main方法中两个标记之间加载的类。

这里有一个类似的问题和一些答案: 有没有办法让ClassLoader加载哪些类?

你有没有试过-verbose:class

这是一个sed表达式,它将解析java -verbose:class的输出,以生成加载的类名及其jar文件对。 您可以进一步管理排序以获取唯一的jar文件。 例如,

java -verbose:class -version 2>/dev/null |
  sed -ne 's/\[Loaded \(.\+\) from \(.\+\)\]/\2/p' | 
  sort -u

输出

/usr/local/jdk1.7.0_67/jre/lib/rt.jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM